我创建了一个用于添加新用户的配方。
inherit extra users
SRC_URI = "file://.bashrc"
FILES_${PN} = "/home/user/.bashrc"
EXTRA_USERS_PARAMS = "useradd -u 1200 -d /home/user/ -p '' -s /bin/brash user"
ROOTFS_POSTPROCESS_COMMAND += "modify_default_bashrc;"
modify_default_bashrc () {
mkdir -p /home/user
install ${WORKINGDIR}/.bashrc ${D}/home/user
}
目标是创建一个非 root 用户,该用户可以运行一组受限的命令。为此,我将 rbash 设置为默认值,还创建了 /home/user/bin 并放置了指向该用户可以运行的命令集的链接。最后一步是将 PATH 变量设置为 /home/user/.bashrc 中的 /home/user/bin
不幸的是,在我运行我的食谱后,.bashrc 文件被设置为默认文件,我不知道如何修改它。
如何为自定义用户添加自定义 .bashrc?
或
有更好的方法来限制用户吗?
您可以在创建脚本中使用
usermod
命令将新用户默认 shell 更改为自定义 shell。
首先您需要将自定义 shell 添加到
/etc/shells
(此文件包含登录 shell 的有效路径名)。
您可以将默认用户 shell 更改为新的 shell 之后
sudo usermod --shell /bin/bash ${username}
欲了解更多信息,您可以阅读GeeksForGeeks
的这篇文章