在 DEB 安装后无需重新启动即可将用户添加到组

Add user to group without restart in DEB postinstall

在我的 deb-package 中,我将用户添加到 postinst 脚本中的 'dialout' 组:

usermod -aG dialout $SUDO_USER

并且我希望在不重新启动的情况下应用新设置:

newgrp dialout

但是有问题:newgrp 登录用户到新会话,所以我们在安装时挂起(你应该在控制台输入 exit)。所以,这样的命令不适合 deb-postinstall。

还有其他可能吗?

安装脚本无法在不注销的情况下更改现有用户的组(它也不能这样做)。但是您可以向安装用户显示一条说明,建议他们(将自己添加到新组中)exec sg dialout 如果他们想避免注销并重新登录。

也许还注意到 postinst(或通常任何打包脚本)无法调用需要用户交互的命令。系统应该能够在 运行 完全无人看管的情况下安装软件包。