Linux Groups
Linux Groups
可以在不同的组中列出用户。组允许我们在组级别上设置权限,而不是在个人级别上设置权限。
每个Linux发行版都有一个图形工具来管理组。可以通过图形工具,命令行工具以及通过vi或vigr来管理组,具体取决于用户的经验。只有有经验的用户才应使用 vi 或 vigr 来管理组,因为它会在文件中进行适当的锁定或更改。
groupadd
groupadd命令在我们的系统中创建或添加组。
语法:
示例:
groupadd php
groupadd java
groupadd android
groupadd spring
看上面的快照,使用groupadd创建组php,java,android和spring命令。
组文件
/etc/group文件定义了组成员身份。一个用户可以是多个组的成员。
语法:
查看上面的快照, first 列表示组名,第二是该组的加密密码,也可以保留为空,第三是组标识(GID),第四是成员列表。第四列表为空,因为这些组没有成员。
组
group命令可告知当前用户所属的组。
语法:
查看上面的快照,用户 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>
示例:
看上面的快照,组 spring 变成 sql 。
gruopdel
命令groupdel将从系统中永久删除一个组。
语法:
示例:
看上面的快照,从中删除组 sql 系统。
gpasswd
可以使用gpasswd命令将组成员身份控制权传递给另一个用户。
语法:
示例:
看上面的快照,我们已经通过了 java的成员身份使用命令" gpasswd-A jtp java" 对用户进行"su"。然后,我们 su 到jtp并将 aaa 添加到java。
组管理员不必是该组的成员。他们可以添加或删除成员而不成为该组的成员。
文件/etc/gshadow 保留有关组管理员的信息,如下快照所示。
要从组中删除所有管理员,请设置一个空管理员列表。
语法:
示例:
看上面的快照,管理员 jtp 已从中删除组java。