我阅读了以下内容newgrp
:
The newgrp command is used to change the current group ID during a
login session.
这让我思考,如何更改默认的主要组永久?
我想我可以newgrp
在 shell 的启动文件中包含一行,但是有没有办法更改每个登录会话的主 ID,而无需求助于newgrp
?
我对通用解决方案感兴趣,但如果它取决于分布,我对以下解决方案感兴趣乌班图11.10并为红帽企业 Linux 服务器(我在前者中有管理员权限,但在后者则没有)。
附录:
从下面 @Shawn 对这些问题提供的精彩答案中,我读到“如果没有 root 权限,我将无法做到这一点”。
这让我想知道:为什么?假设我有newgrp
登录后立即运行的权限,这是否与出于所有实际目的更改我的默认主 GUID 相同?
答案1
在 Linux(不是 BusyBox)、Solaris、NetBSD、OpenBSD 上:
usermod -g group
usermod 命令修改系统帐户文件以反映在命令行上指定的更改
-g, --gid 组
用户新初始登录组的组名或编号。该组必须存在。用户先前主要组所拥有的用户主目录中的任何文件都将归该新组所有。
必须手动修复用户主目录之外的文件的组所有权。
在 FreeBSD 上:
pw usermod -g group
在 BusyBox 上:
addgroup -g user group
如果没有 root 权限,您将无法执行此操作。