一.Linux组群账户配置文件
1./etc/group文件
/etc/group文件是用户组群的配置文件,内容包括用户和用户组群,并且能显示出用户是归属哪个用户组群或哪几个用户组群。一个用户可以归属一个或多个不同的用户组群,同一用户组群的用户之间具有相似的特征。比如把某一用户加入到root用户组群,那么这个用户就可以浏览root用户主目录的文件,如果root用户把某个文件的读写执行权限放开,root用户组群的所有用户都可以修改此文件;如果是可执行的文件,root用户组群的用户也是可以执行的。
(1)./etc/group文件内容
/etc/group文件的内容包括用户组群名、用户组群口令、GID及该用户组群所包含的用户,每个用户组群都有一条记录。一行有4个段位,每个段位用":"分隔,下面是/etc/group文件的部分内容的示例。
[root@redhat2 home]# cat /etc/group
root:x:0:
bin:x:1:bin,daemon
daemon:x:2:bin,daemon
sys:x:3:bin,adm
adm:x:4:adm,daemon
tty:x:5:
disk:x:6:
表8-3所示为/etc/passwd文件中各字段的含义。
字段
含义
组群名
用户组群名称,如组群名root
组群口令
存放加密的密码,在上面示例中我们看到的是一个x,其实口令已被映射到/etc/gshadow文件中
组群标识号
在系统内用一个整数标识组群GID,每个组群的GID都是唯一的,默认普通组群的GID从500开始,如root组群GID是0
组群成员
属于这个组群的成员,如root组群的成员有root用户
(2)./etc/gshadow文件
/etc/gshadow是/etc/group的加密文件,比如用户组群管理密口令就是存放在这个文件中。/etc/gshadow和/etc/group是互补的两个文件;
/etc/gshadow文件中每个用户组群都有一条记录。一行有4个段位,每个段位用":"分割,下面是/etc/gshadow文件的部分内容的示例:
[root@redhat2 home]# cat /etc/gshadow
root:::
bin:::bin,daemon
daemon:::bin,daemon
sys:::bin,adm
adm:::adm,daemon
tty:::
disk:::
lp:::daemon
mem:::
kmem:::
wheel:::
mail:::mail,postfix
uucp:::
man:::
games:::
表4-1 所示为/etc/gshadow文件中各字段的含义。
字段
含义
组群名
组群名称,如组群名root
组群口令
口令已经加密,如果这些组群在这里显示的是"!",表示这个组群没有口令。上面示例中组群shanghai没有口令,组群beijing已设置口令。
组群管理者
组群的管理者,有权在该组群中添加、删除用户
组群成员
属于该组群的用户成员列表,如有多个用户用","分隔。上面示例中beijing组群的成员是ou
二.字符界面下组群账户的设置
在Linux系统字符界面下创建、修改以及删除组群账户主要使用groupadd,groupmod和groupdel这3个命令,其结果与使用“用户管理器”工具一样。
1.创建组群账户
使用groupadd命令可以在Linux系统下创建组群账户。
命令语法:
[root@redhat2 ~]# groupadd
Usage: groupadd [options] GROUP
Options:
-f, --force exit successfully if the group already exists,
and cancel -g if the GID is already used
-g, --gid GID use GID for the new group
-h, --help display this help message and exit
-K, --key KEY=VALUE override /etc/login.defs defaults
-o, --non-unique allow to create groups with duplicate
(non-unique) GID
-p, --password PASSWORD use this encrypted password for the new group
-r, --system create a system account
[root@redhat2 ~]#
2.创建名为china的组群。
[root@redhat2 ~]# groupadd -g 800 ou
[root@redhat2 ~]# cat /etc/group |grep ou
dialout:x:18:
ou:x:800:
[root@redhat2 ~]#
//查看文件/etc/group,可以看到已经创建了组群ou,组群GID是800。
3.创建名为chineses的系统组群。
[root@redhat2 ~]# groupadd -r chineses
[root@redhat2 ~]# cat /etc/group |grep chinese
chineses:x:493:
[root@redhat2 ~]#
4.创建名为chinese的系统组群。
[root@redhat2 ~]# groupadd -r chineses
[root@redhat2 ~]# cat /etc/group |grep chinese
chineses:x:493:
[root@redhat2 ~]#
//查看/etc/group文件,可以看到系统组群chinese的GID是493,是小于500的。
三.修改组群账户
使用groupmod命令可以在Linux系统下修改组群账户,如组群名称、GID等。
命令语法:
[root@redhat2 ~]# groupmod
Usage: groupmod [options] GROUP
Options:
-g, --gid GID change the group ID to GID
-h, --help display this help message and exit
-n, --new-name NEW_GROUP change the name to NEW_GROUP
-o, --non-unique allow to use a duplicate (non-unique) GID
-p, --password PASSWORD change the password to this (encrypted)
PASSWORD
[root@redhat2 ~]#
例1:将组群ou的GID修改为900。
[root@redhat2 ~]# groupmod -g 900 ou
[root@redhat2 ~]# cat /etc/group |grep ou
dialout:x:18:
ou:x:900:
[root@redhat2 ~]#
//查看文件/etc/group,可以看到组群ou的GID已经更改为900。
例2:修改组群ou的新组群名称为shanghai。
[root@redhat2 ~]# groupmod -n shanghai ou
[root@redhat2 ~]# cat /etc/group|grep shanghai
shanghai:x:900:
[root@redhat2 ~]#
//查看/etc/group文件,可以看到当前组群shanghai已经存在。
四.账户相关文件或目录
在创建、修改和删除账户时,涉及到众多的相关文件和目录,如/etc/skel目录、/etc/login.defs文件和/etc/default/useradd文件。
/etc/skel目录
/etc/skel目录是存放用户启动文件的目录,这个目录由root用户管理,当管理员创建新用户时,这个目录下的文件会自动复制到新创建的用户的主目录下。/etc/skel目录下的文件都是隐藏文件,也就是类似".file"格式的,可以通过添加、修改和删除/etc/skel目录下的文件,来为用户提供一个统一、标准和默认的用户环境。
使用如下命令查看/etc/skel目录内包含的文件信息。
[root@redhat2 ~]# ls -al /etc/skel
total 40
drwxr-xr-x. 4 root root 4096 Jun 4 2014 .
drwxr-xr-x. 100 root root 12288 Jan 11 05:24 ..
-rw-r--r--. 1 root root 18 Apr 23 2012 .bash_logout
-rw-r--r--. 1 root root 176 Apr 23 2012 .bash_profile
-rw-r--r--. 1 root root 124 Apr 23 2012 .bashrc
drwxr-xr-x. 2 root root 4096 Jul 14 2010 .gnome2
-rw-r--r--. 1 root root 121 Apr 11 2012 .kshrc
drwxr-xr-x. 4 root root 4096 Jun 2 2014 .mozilla
[root@redhat2 ~]#
当用户useradd命令创建新用户时,/etc/skel目录下的文件会自动复制到新创建用户的主目录下。另外一种方法也可以达到同样效果,管理员通过修改/etc/passwd文件创建新用户时,设置用户的主目录,然后把/etc/skel下的文件复制到用户的主目录下,最后用chown命令改变新用户主目录的属主。
2./etc/login.defs配置文件
/etc/login.defs文件规定了创建新用户时的一些默认设置,比如创建用户时是否需要主目录、UID和GID的范围、用户账户口令的期限等,这个文件可以通过root用户来修改。
MAIL_DIR /var/spool/mail //创建用户时,要在目录/var/spool/mail中创建一个用户邮箱文件
PASS_MAX_DAYS 99999 //用户必须更改口令的天数
PASS_MIN_DAYS 0 //用户可以更改口令的天数
PASS_MIN_LEN 5 //口令最小长度
PASS_WARN_AGE 7 //在用户口令过期之前的警告时间
UID_MIN 500 //创建新用户时用户的UID从500开始
UID_MAX 60000 //用户最大UID职为60000
GID_MIN 500 //创建新组群时组群的GID从500开始
GID_MAX 60000 //组群最大GID值为60000
CREATE_HOME yes //是否要求创建用户主目录,yes表示要求创建
ENCRYPT_METHOD MD5 //启用MD5加密口令
3./etc/default/useradd文件
/etc/default/useradd文件是在使用useradd命令创建用户账户时的规则文件。
[root@redhat2 ~]# cat /etc/default/useradd<