一.用户和用户组配置文件主要有四个:/etc/passwd /etc/shadow /etc/group /etc/gshadow ,一个用户或用户组被创建后,系统会自动将相关信息添加到这4个文件.
1./etc/passwd
[root@Web ~]# head -2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologinbin
要点: 1.用户分为伪用户和真实的用户. 伪用户(bin)是系统创建的,不能登入(nologinbin)
2.每一行代表一个用户的信息,有7个字段,用:分割
root:x:0:0:root:/root:/bin/bash
root (第1个字段): 用户名
x (第2个字段): 密码标识符
0 (第3个字段):用户uid 0表示root用户 1~499 标识伪用户 500~ 标识创建的用户
0(第4个字段):GID 初始用户组 当用户创建时,系统会默认生成一个与uid相同的GID
root(第5个字段): 用户说明,相当于备注
/root(第6个字段): 用户的家目录
/bin/bash(第7个字段):用户登入后使用的shell
2. /etc/shadow
[root@Web ~]# head -2 /etc/shadow
root:$6$jmM2rFzPCFbmqBkf$oz3AUooR3qaV5uXU67HcXlYiE3hNf0sSsunk1eBTDPrGUOM1xYCyesGoj.ZLTIzdiXEdrnnqNyC5g8SsRnxQm.:16338:0:99999:7:::
bin:*:15615:0:99999:7:::
要点: root(第一个字段):用户名
$6$jmM2rFzPCFbmqBkf$oz3AUooR3qaV5uXU67HcXlYiE3hNf0sSsunk1eBTDPrGUOM1xYCyesGoj.ZLTIzdiXEdrnnqNyC5g8SsRnxQm.(第2个字段):经过加密的密码
16338(第3个字段):最近更改密码的时间,从1970/1/1 到上次修改密码的天数
0(第4个字段):禁止修改密码的天数,从1970/1/1开始,多少天内不能修改密码
99999(第5个字段):密码的有效期,从1970/1/1开始,过了多少天必须修改密码
7(第6个字段):密码到期前开始提醒用户修改密码的天数
(第7个字段):密码过期后的宽限天数
(第8个字段):从1970/1/1开始,到用户被禁的天数,默认为空
(第9个字段):保留,未使用
3./etc/group & /etc/shadow 与/etc/passwd & /etc/gshadow 类似.其中/etc/group 中存在本组成员用户列表,可以查看加入这个组的所有用户
二,用户和用户组管理
主要涉及文件有:/etc/skel目录 /etc/login.defs /etc/default/useradd
1./etc/skel
存放模板文件的目录,所谓模板,就是新用户创建后会自动添加到该用户的家目录下的文件(一般是隐藏文件)
[root@localhost ~]# ls -al /etc/skel/
total 64
drwxr-xr-x 3 root root 4096 Apr 30 17:20 .
drwxr-xr-x 91 root root 12288 May 2 10:01 ..
-rw-r--r-- 1 root root 33 May 13 2011 .bash_logout
-rw-r--r-- 1 root root 176 May 13 2011 .bash_profile
-rw-r--r-- 1 root root 124 May 13 2011 .bashrc
-rw-r--r-- 1 root root 515 Apr 7 2011 .emacs
drwxr-xr-x 4 root root 4096 Apr 30 17:20 .mozilla
2./etc/login/defs
[root@localhost ~]# cat /etc/login.defs
# *REQUIRED*
# Directory where mailboxes reside, _or_ name of file, relative to the
# home directory. If you _do_ define both, MAIL_DIR takes precedence.
# QMAIL_DIR is for Qmail
#
#QMAIL_DIR Maildir
MAIL_DIR /var/spool/mail #创建用户时,要在目录/var/spool/mail中创建一个用户mail文件;
#MAIL_FILE .mail
# Password aging controls:
#
# PASS_MAX_DAYS Maximum number of days a password may be used.
# PASS_MIN_DAYS Minimum number of days allowed between password changes.
# PASS_MIN_LEN Minimum acceptable password length.
# PASS_WARN_AGE Number of days warning given before a password expires.
#
PASS_MAX_DAYS 99999 #一个密码最长可以使用的天数
PASS_MIN_DAYS 0 #更改密码的最小天数
PASS_MIN_LEN 5 #密码的最小长度;
PASS_WARN_AGE 7 #密码失效提前多少天开始警告
#
# Min/max values for automatic uid selection in useradd
#
UID_MIN 500 #最小UID为500,也就是说添加用户时,UID是从500开始的;
UID_MAX 60000 #最大UID为60000;
#
# Min/max values for automatic gid selection in groupadd
#
GID_MIN 500 #GID依然是从500开始;同上面用户的情况;
GID_MAX 60000
#
# If defined, this command is run when removing a user.
# It should remove any at/cron/print jobs etc. owned by
# the user to be removed (passed as the first argument).
#
#USERDEL_CMD /usr/sbin/userdel_local
#
# If useradd should create home directories for users by default
# On RH systems, we do. This option is overridden with the -m flag on
# useradd command line.
#
CREATE_HOME yes #是否创建用户家目录,默认要求创建;可用-m参数来控制;
# The permission mask is initialized to this value. If not specified,
# the permission mask will be initialized to 022.
UMASK 077
# This enables userdel to remove user groups if no members exist.
#
USERGROUPS_ENAB yes #删除用户同时删除用户组
# Use MD5 or DES to encrypt password? Red Hat use MD5 by default.
MD5_CRYPT_ENAB yes #MD5密码加密
3./etc/default/useradd
[root@localhost ~]# cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home #把用户的家目录建在/home中
INACTIVE=-1 #是否启动账号过期停权,-1表示不启用
EXPIRE= #账号终止日期,不设置表示不启用
SHELL=/bin/bash #新用户默认所用的shell类型
SKEL=/etc/skel #配置新用户家目录的默认文件存放路径。前文提到的/etc/skell,就是配在这里生效的,即当我们用useradd添加时,用户家目录的文件,都是从这里配置的目录中复制过去的。
CREATE_MAIL_SPOOL=yes #创建mail文件