Linux 用户组
用户可以在不同的组中列出。组允许我们在组级别设置权限,而不是在个人级别设置权限。
每个 Linux 发行版都有一个图形工具来管理组。组可以通过图形工具、命令行工具以及 vi 或 vigr 进行管理,具体取决于用户的经验。只有有经验的用户才能使用 vi 或 vigr 来管理组,因为它会在文件中进行适当的锁定或更改。
groupadd命令
groupadd 命令在我们的系统中创建或添加一个组。
语法:
groupadd <groupName>
示例:
groupadd php
groupadd java
groupadd android
groupadd spring
看看上面的快照,php,java,android和spring组都是使用groupadd命令创建的。
group 命令
/etc/group 文件定义组成员身份。一个用户可以是多个组的成员。
语法:
/etc/group
查看上面的快照,第一列表示组名称,第二列是组的加密密码,也可能保持为空,第三列是组标识(GID),第四列是成员列表。 第四个列表为空,因为这些组没有成员。
groups 命令
group 命令告知当前用户所属的组。
语法:
groups
看看上面的快照,用户jtp和sssit属于不同的组。
usermod 命令
可以使用 usermod 或 useradd 命令编辑组成员。如果未列出某个组,则默认情况下,usermod 命令将从他所属的每个组中删除该用户。在这里,-a(追加)选项用于防止这种情况发生。
语法:
usermod -a -G <group> <userName>
示例:
usermod -a -G php akki
usermod -a -G php abc
usermod -a -G java jtp
看看上面的快照,我们已经显示了 /etc/group 的列表。用户 akki 和 abc 被添加到 php 组中,用户 jtp 被添加到 java 中。
groupmod 命令
借助 groupmod 命令,您可以更改现有组的名称。
语法:
groupmod -n <oldGroup> <newGroup>
示例:
groupmod -n sql spring
看上面的快照,group改成了sql。
gruopdel 命令
命令 groupdel 将从系统中永久删除组。
语法:
groupdel <group>
示例:
groupdel sql
看上面的快照,sql组从系统中删除了。
gpasswd 命令
可以使用 gpasswd 命令将组成员身份的控制权传递给其他用户。
语法:
gpsswd -A <user> <group>
示例:
gpasswd -A jtp java
看看上面的快照,我们已经用命令“gpasswd -A jtp java”将java的成员资格传递给了用户。然后我们 su 到 jtp 并将 aaa 添加到 java。
文件 /etc/gshadow 保留有关组管理员的信息,如下面的快照所示。
要从组中删除所有管理员,请设置一个空的管理员列表。
语法:
gpasswd -A "" <group>
示例:
gpasswd -A "" java
查看上面的快照,管理员 jtp 已从组 java 中删除。
热门文章
优秀文章