Linux学习之用户&用户组配置文件

一.用户和用户组配置文件主要有四个:/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文件

 

Linux学习之用户&用户组配置文件

上一篇:在win10+Ubuntu双系统下,完美卸载Ubuntu


下一篇:一、(6)Linux命令进阶篇之一