如何在Yocto的bb文件do_install函数中指定非root用户安装脚本
在Yocto中设置脚本安装后的属主为指定用户
1. 先确保目标用户user1已在系统中创建
如果项目还未创建user1,可在recipe中通过useradd类添加用户创建逻辑:
inherit useradd USERADD_PACKAGES = "${PN}" USERADD_PARAM_${PN} = "-d /home/user1 -m user1"
这段配置会在系统中创建家目录为/home/user1的user1用户。
2. 修改do_install函数设置脚本属主
在bb文件的do_install函数中,先完成脚本安装,再通过chown命令修改属主:
do_install() { # 安装脚本到目标路径 install -m 0755 ${WORKDIR}/my_script.sh ${D}/${datadir}/ # 将脚本属主改为user1(用户组同步设为user1) chown user1:user1 ${D}/${datadir}/my_script.sh }
额外优化建议
如果仅希望user1能执行该脚本,可将安装权限从0755改为0700:
install -m 0700 ${WORKDIR}/my_script.sh ${D}/${datadir}/
内容的提问来源于stack exchange,提问作者suren
相关产品推荐
相关产品推荐

