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 -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 中删除。

热门文章

优秀文章