yocto - 如何设置对 busybox 命令的权限
yocto - How to set permission to command of busybox
我目前正在开发 yocto projet,我正在寻找一种解决方案来设置 busybox 命令的权限。我有我的层 meta-exemple1,其中有 recipes-core 包含 busybox_%.bbappend 和 files/defconfig_patch.cfg 设置配置的.
我正在寻找一种方法为用户的特定命令设置权限..
示例,
假设我有两个用户,user1 和 user2。我想让 user1 用来命令 cat 而不是 user2
我该怎么做?
提前致谢
在 Linux 中有 getfacl 和 setfacl,您可以使用它们来设置用户对给定二进制文件的权限。更多详情 here.
在 Yocto 中,您可以使用此示例:
do_install_append(){
setfacl -m u:user_name:r-- $D${bindir}/cat
}
现在有两个问题:
你需要看看busybox是把所有的binary都打包成${D}还是打包了一个binary“busybox”,如果是一个binary你可以试试追加镜像配方的包。
我们的想法是找到打包目标二进制文件的方法。
第二个问题是 Yocto 在创建最终的 rootfs 时没有保留这些权限,这个问题被提到 here。
因此,您可以尝试使用 pkg_postinst_${PN}_append() 在打包阶段后添加权限的建议解决方案,或者我建议您可以创建一个在启动时运行的服务,并在您想要的二进制文件上运行 setfacl 命令。
这是我找到的,希望它能帮助您找到正确的解决方案。
我目前正在开发 yocto projet,我正在寻找一种解决方案来设置 busybox 命令的权限。我有我的层 meta-exemple1,其中有 recipes-core 包含 busybox_%.bbappend 和 files/defconfig_patch.cfg 设置配置的.
我正在寻找一种方法为用户的特定命令设置权限..
示例,
假设我有两个用户,user1 和 user2。我想让 user1 用来命令 cat 而不是 user2
我该怎么做?
提前致谢
在 Linux 中有 getfacl 和 setfacl,您可以使用它们来设置用户对给定二进制文件的权限。更多详情 here.
在 Yocto 中,您可以使用此示例:
do_install_append(){
setfacl -m u:user_name:r-- $D${bindir}/cat
}
现在有两个问题:
你需要看看busybox是把所有的binary都打包成${D}还是打包了一个binary“busybox”,如果是一个binary你可以试试追加镜像配方的包。
我们的想法是找到打包目标二进制文件的方法。
第二个问题是 Yocto 在创建最终的 rootfs 时没有保留这些权限,这个问题被提到 here。
因此,您可以尝试使用 pkg_postinst_${PN}_append() 在打包阶段后添加权限的建议解决方案,或者我建议您可以创建一个在启动时运行的服务,并在您想要的二进制文件上运行 setfacl 命令。
这是我找到的,希望它能帮助您找到正确的解决方案。