在 DEB 安装后将用户添加到组而无需重新启动
Posted
技术标签:
【中文标题】在 DEB 安装后将用户添加到组而无需重新启动【英文标题】:Add user to group without restart in DEB postinstall 【发布时间】:2021-10-07 13:33:01 【问题描述】:在我的 deb 包中,我将用户添加到 postinst
脚本中的“拨出”组:
usermod -aG dialout $SUDO_USER
我希望在不重新启动的情况下应用新设置:
newgrp dialout
但是有一个问题:newgrp
将用户登录到新会话,所以我们在安装时挂起(您应该在控制台中输入exit
)。所以,这样的命令不适合 deb-postinstall。
还有其他可能吗?
【问题讨论】:
我希望您知道dialout
是一个保留的系统组? wiki.debian.org/SystemGroups
@tripleee 当然
【参考方案1】:
安装脚本不能在不注销现有用户的情况下更改他们的组(它也不能这样做)。但是您可以向安装用户显示一条说明,建议他们(将自己添加到新组和)exec sg dialout
,如果他们想避免退出并重新登录。
也许还注意到postinst
(或通常任何打包脚本)不能调用需要用户交互的命令。系统应该能够在完全无人看管的情况下安装软件包。
【讨论】:
以上是关于在 DEB 安装后将用户添加到组而无需重新启动的主要内容,如果未能解决你的问题,请参考以下文章
添加密钥到authorized_users,无需重启sshd