You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 03:27:05