如何解决yocto - 如何设置busybox命令的权限
我目前正在开发一个 yocto 项目,我正在寻找一种解决方案来设置对 busybox 命令的权限。我有我的层元示例 1,其中包含 busybox_%.bbappend 和 files/defconfig_patch.cfg 的 recipes-core 设置配置。
我正在寻找一种方法为用户的特定命令设置权限..
示例,
假设我有两个用户,user1 和 user2。我想让 user1 用来命令 cat 而不是 user2
我该怎么做?
提前致谢
解决方法
在 Linux 中,您可以使用 getfacl 和 setfacl 来设置用户对给定二进制文件的权限。更多详情here。
在 Yocto 中,您可以使用此示例:
do_install_append(){
setfacl -m u:user_name:r-- $D${bindir}/cat
}
现在有两个问题:
你需要看看busybox是把所有拆分成${D}的二进制文件打包了还是打包了一个二进制“busybox”,如果是一个二进制你可以尝试追加镜像配方的包。
我们的想法是找到打包目标二进制文件的配方。
第二个问题是 Yocto 在创建最终的 rootfs 时没有保留这些权限,这个问题提到了 here。
因此,您可以尝试使用pkg_postinst_${PN}_append() 在打包阶段后添加权限的建议解决方案,或者我建议您可以创建一个在启动时运行的服务,并且对所需的二进制文件运行 setfacl 命令。
这是我发现的,希望它可以帮助您找到正确的解决方案。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。