文件系统覆盖中的 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
我正在制作一个带有 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