文件系统覆盖中的 buildroot 文件权限未保留

buildroot file rights in filesystem overlay not preserved

我正在制作一个带有 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 进行此传输并且应该保留权利。我不知道我能做些什么来维护这些权利。

您可以使用权限 table 功能来设置自定义文件权限: https://buildroot.org/downloads/manual/manual.html#customize-device-permission

或者对于更复杂的事情,您可以使用 post-fakeroot 脚本,如下所述: https://buildroot.org/downloads/manual/manual.html#rootfs-custom