Linux 用户管理:用户组管理(groupadd, gruopdel)
用户可归属不同的用户组中。用户组机制可允许我们便利地在用户组上设置权限应用到归属组中的所有用户上,以代替繁琐地分别在单一用户级别上设置权限。
每个 Linux 发行版都会包含有图形化工具管理用户组配置。而命令行工具或使用 vi 或 vigr 管理用户组依赖管理者的经验。只有有经验的管理者才会使用 vi 或 vigr 管理用户组,由于这些工具可准确地操纵配置文件去锁定或修改用户组的配置。
groupadd 命令
groupadd
命令用来在系统中创建或新增用户组。
语法:
groupadd <groupName>
举例:
# groupadd php
# groupadd java
# groupadd android
# groupadd spring
见如上截图,通过 groupadd 命令,用户组 php,java,android 和 spring 被创建。(需要超级用户权限「root」)
用户组文件
'/etc/group' 文件中包含了所有用户组及成员信息。一个用户可以同时隶属多个不同的用户组。
语法:
/etc/group
参见如上截图,以冒号(:)分隔的第一列是用户组名,第二列是密码标记 -- 可能会是密码密文,也可能为空 -- ,第三列是用户组 id (GID),第四列是用户组成员列表。也许第四列为空,代表此用户组中无成员用户。
Groups 命令
groups
命令告诉我们当前用户属于哪些用户组。
语法:
groups
如上截图显示,用户 jtp 和 sssit 分属不同的用户组。
使用 usermod 命令
用户组成员可通过 usermod 或 useradd 进行改变。如果在 usermod
命令中未列出用户所有所属的用户组名,那么用户将被从未列出的所属用户组中删除。为了避免这种情况发生,命令行中使用 '-a' 命令选项,其中 '-a' 选项是 append (追加) 的含义。
语法:
usermod -a -G <group> <userName>
#修改 userName 用户所属用户组,
#追加 userName 用户属于 group 组,
#保持 userName 原有其它所属用户组不变。
举例:
usermod -a -G php akki
usermod -a -G php abc
usermod -a -G java jtp
见如上截图,我们显示 '/etc/group' 内容表明,用户 akki 和 abc 被加入到 php 用户组,用户 jtp 被加入到 java 用户组。(需要超级用户「root」权限)
groupmod 命令
在 groupmod 命令的帮助下,可以修改已存在的用户组名。
语法:
groupmod -n <newGroup> <oldGroup>
#将 oldGroup 组名修改为 newGroup 新组名
#原文例示有错,已改,新组名在前,旧组名在后
举例:
groupmod -n sql spring
见如上截图,用户组 spring 被改为 sql 。
gruopdel 命令
groupdel 命令从系统中永久删除一个用户组。
语法:
groupdel <group>
#删除名为 group 的用户组
举例:
groupdel sql
见如上截图,用户组 sql 从系统中被删除。(需要超级用户「root」权限)
gpasswd 命令
使用 gpasswd 命令可控制用户组成员,增加成员用户或删除。
语法:
gpsswd -A <user> <group>
#命令选项 -A 用于添加用户组的管理员成员
Example:
gpasswd -A jtp java
#添加用户 jtp 成为用户组 java 的管理员成员
参考如上截图,我们通过命令 gpasswd -A jtp java
命令将用户 jtp 添加为用户组 java 的管理员成员(需要超级用户「root」权限),然后使用 su - jtp
切换到用户 jtp 。在用户 jtp 下使用 gpasswd -a aaa java
将用户 aaa 添加为用户组 java 的组成员。
用户组管理员成员 用户可以不必是用户组的组成员。它被赋予增加、删除组成员的权利,而不必是那个组的组成员。
下面的截图显示,文件 '/etc/gshadow' 中保存着用户组的管理员成员用户信息。
删除用户组中所有的管理员成员用户,通过设置用户组管理员成员为空命令完成。
语法:
gpasswd -A "" <group>
#设置用户组 group 的管理员成员为 "",清空管理员成员
举例:
gpasswd -A "" java
#清空用户组 java 的管理员成员为空
见如上截图,用户 jtp 被清除出用户组 java 的管理员成员。(需要超级用户「root」权限)