我正在使用ssh服务器制作一个buildroot系统,我想通过将它们添加到我的文件系统覆盖图中来修复服务器使用的ssh密钥。私钥需要具有有限的权限(所有者拥有读写权限,仅此而已)。
构建时,这些权限在目标文件系统中被更改,并且由于权限太开放,ssh服务器无法启动。
$ ls -lh ./rootfs_overlay/etc/ssh
total 596K
-rw-r--r-- 1 william william 553K sept. 12 10:46 moduli
-rw-r--r-- 1 william william 1,5K sept. 12 10:46 ssh_config
-rw-r--r-- 1 william william 3,1K sept. 26 11:27 sshd_config
-rw------- 1 william william 1,4K oct. 3 16:22 ssh_host_dsa_key
-rw-r--r-- 1 william william 604 oct. 3 16:22 ssh_host_dsa_key.pub
-rw------- 1 william william 505 oct. 3 16:22 ssh_host_ecdsa_key
-rw-r--r-- 1 william william 176 oct. 3 16:22 ssh_host_ecdsa_key.pub
-rw------- 1 william william 411 oct. 3 16:22 ssh_host_ed25519_key
-rw-r--r-- 1 william william 96 oct. 3 16:22 ssh_host_ed25519_key.pub
-rw------- 1 william william 1,8K oct. 3 16:22 ssh_host_rsa_key
-rw-r--r-- 1 william william 396 oct. 3 16:22 ssh_host_rsa_key.pub
$ ls -lh ./output/target/etc/ssh/
total 596K
-rw-r--r-- 1 william william 553K sept. 12 10:46 moduli
-rw-r--r-- 1 william william 1,5K sept. 12 10:46 ssh_config
-rw-r--r-- 1 william william 3,1K sept. 26 11:27 sshd_config
-rw-r--r-- 1 william william 1,4K oct. 3 16:22 ssh_host_dsa_key
-rw-r--r-- 1 william william 604 oct. 3 16:22 ssh_host_dsa_key.pub
-rw-r--r-- 1 william william 505 oct. 3 16:22 ssh_host_ecdsa_key
-rw-r--r-- 1 william william 176 oct. 3 16:22 ssh_host_ecdsa_key.pub
-rw-r--r-- 1 william william 411 oct. 3 16:22 ssh_host_ed25519_key
-rw-r--r-- 1 william william 96 oct. 3 16:22 ssh_host_ed25519_key.pub
-rw-r--r-- 1 william william 1,8K oct. 3 16:22 ssh_host_rsa_key
-rw-r--r-- 1 william william 396 oct. 3 16:22 ssh_host_rsa_key.pub
buildroot正在使用rsync进行此传输,并且应该保留权限。我不知道该如何保护这些权利。
您可以使用权限表功能来设置自定义文件权限:https://buildroot.org/downloads/manual/manual.html#customize-device-permission
或更复杂的事情,您可以使用fakeroot脚本,如下所述:https://buildroot.org/downloads/manual/manual.html#rootfs-custom