yocto - 如何设置对 busybox 命令的权限

yocto - How to set permission to command of busybox

我目前正在开发 yocto projet,我正在寻找一种解决方案来设置 busybox 命令的权限。我有我的层 meta-exemple1,其中有 recipes-core 包含 busybox_%.bbappendfiles/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 命令。

这是我找到的,希望它能帮助您找到正确的解决方案。