如何在Linux中添加用户到附加组 Linux usermod -G操作指南

嘿嘿,在Linux系统中,命令usermod -aG简直就是管理用户组的神器。
我当时就很困惑,怎么操作呢? 后来我意识到我必须首先检查用户现在属于哪些组。
使用groups或者id命令查看,嘿嘿,用户alice,主组是alice,附加组是users、developers、docker。
这事不能乱。

然后,您必须将 alice 添加到新的附加组中。
sudousermod -aG,指定目标组名,以逗号分隔,不带空格。
例如,如果我想将 alice 添加到 docker 和 www-data 组,我必须编写:sudousermod-aGdocker,www-dataalice。
也可以批量添加,效果是一样的。

请注意,组必须先存在,如果不存在,则必须先创建。
sudogroupadddocker,所以该组就在那里。

操作完成后,必须重新登录,或者使用newgrp命令,新组的权限才能生效。
我当时就很困惑,怎么可能有效呢? 后来才知道newgrp只对当前终端有效。
只有退出并重新进入后,权限才真正生效。

关键是要注意-aG和-G的区别。
那个G的东西涵盖了所有用户的附加组,所以要谨慎使用! -aG 用于添加组,不影响现有组。

组名称应​​以逗号分隔,且不能有空格。
如果写错了,命令将无法解析。

权限生效后,必须重新登录或者newgrp,否则就白费了。

安全操作,操作前备份,先尝试测试环境,保留关键操作日志,方便故障排除。

常见问题,如用户没有权限,需要确认是否重新登录或执行过newgrp。
组名错误,需要使用getentgroup来验证。
原来的组已经被误用-G覆盖了,所以必须赶紧使用usermod -aG来弥补。

总而言之,使用 usermod-aG 安全地添加其他组。
关键是添加-a选项。
组名称以逗号分隔,并且没有空格。
操作后必须重新登录或newgrp。
操作前请确认该组存在并备份数据。

Linux如何管理用户组?_Linuxgroupadd与权限控制

简单来说,Linux用户组管理就像搭积木一样。
使用groupadd、usermod等命令明确组结构,然后通过文件权限和组信息文件锁定规则。
其实很简单,但是关键点需要理解清楚。

我们先来说说最重要的GID方案。
去年我们跑了一个3 000级的项目。
由于我们没有提前在/etc/login.defs中设置GID_MIN,所以新服务用户自动占用5 00-5 9 9 范围。
最终我们用了一周的时间才完成了一个奇怪的剧本。
还有一点就是,原生不使用组密码,但是gpasswd -A 可以指定管理员。
很多人不重视这一点。
还有一个更重要的细节。
例如,使用chmod 2 7 7 0将setgid添加到开发目录中。
新文件将自动继承该组,但前提是父目录的权限正确。
否则,就会出现行话所说的雪崩效应。
事实上,前面的一点拖延就会毁掉后面的一切。

一开始我以为用usermod -aG就万事大吉了,后来发现不对。
主组是登录时默认的。
补充组要定期用GPSWD进行清理,否则组里就会充满僵尸用户。
等等,还有一件事。
虽然/etc/gshadow不再频繁更改,但您可以使用cage -E命令强制组密码过期。
很多人都忘记了这一点。

开始之前建议在创建用户-组-权限依赖图时暂时不要将GID更改为乱码,特别是在多机集群环境中。