用户组的管理主要涉及用户组的添加、修改和删除等操作。本节将对上述对用户组的操作进行说明。
在Linux系统中,每个账号都属于一个用户组。账号的管理应以“组”为单位进行,即先把希望具有相同权限的用户分到同一个用户组,然后再对该用户组的权限进行指定,以此来对用户进行统一管理。在Red Hat Enterprise Linux 5的安装过程中,系统除了自动创建默认的标准账号外,也会自动创建默认的标准用户组(Standard Groups)账号。
除了root组用来组织管理者之外,其他的组账号都是提供给应用程序在执行时使用的。标准用户组说明如表4.2所示。
表4.2 Linux标准用户组说明
续表
可以使用groupadd命令进行用户组的添加,其命令格式如下:
groupadd命令会参照命令行中指定的选项对用户组进行设定。以下列出的是groupadd可用的选项。
● -g GID:组的GID,除非使用了-o选项,否则该值在系统中必须唯一,且不能为负。该值应大于499且大于系统中已存在的任何组的GID值。
● -r:创建小于500的系统组。若不指定-g选项,则按递减顺序从小于500的可用值中挑选。
● -f:如果所定义的组已经存在,则退出并显示成功信息。如果同时指定了-g和-f选项,而-g所指定的组已经存在,则忽略-g的值,重新指定新的值。
● -o:允许指定不唯一的GID,即用新的标识号取代原用户组的标识号。
● -K KEY=VALUE:重载/etc/login.defs中的默认值,如用GID_MIN对用户组标识号最小值进行设定,用GID_MAX对用户组标识号最大值进行设定等。
例如,添加一个新的用户组student,GID值为502,命令行如下:
在Red Hat Enterprise Linux 5中,添加用户可以使用useradd或adduser命令,但添加用户组则不存在addgroup命令。如果需要,可自行创建一个名为addgroup的链接命令,链接到groupadd命令:
修改用户组属性的命令是groupmod,其命令格式如下:
groupmod命令会参照命令行上指定的选项对用户组属性进行修改。以下列出的是groupmod可用的选项。
● -g GID:为用户组指定新的GID,除非使用了-o选项,否则该值在系统中必须唯一,且不能为负。该选项并不能对文件的GID进行自动更新,文件的GID必须用户手动修改。
● -n:更改用户组的名称。
例如修改teacher用户组的组标识号为503,命令行为:
再如将teacher用户组的组标识号改为550,用户组名称改为director,命令行为:
一个用户可以同时属于多个用户组。但用户登录系统后,默认只属于一个用户组,可以使用newgrp命令使用户在多个用户组之间进行切换,其命令格式为:
其中选项[-]用于重新加载用户工作环境。如果不带[-]选项,则在切换用户组时,用户的工作环境(包括当前工作目录等)不会改变。
在创建用户账号时,系统会自动创建该账号所属的用户组。但在删除用户账号时,系统不会自动删除用户组。删除用户组可以用groupdel命令完成,其命令格式如下:
例如可以使用如下命令删除teacher用户组:
如果希望删除的用户组中仍有用户登录了系统,则无法删除该用户组。必须等该用户组的所有用户退出系统才能正常删除,例如: