1 用户信息文件
/etc/passwd
[root@iZbp143t3oxhfc3ar7jey0Z mail]# cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin polkitd:x:999:998:User for polkitd:/:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin chrony:x:998:996::/var/lib/chrony:/sbin/nologin ntp:x:38:38::/etc/ntp:/sbin/nologin tcpdump:x:72:72::/:/sbin/nologin nscd:x:28:28:NSCD Daemon:/:/sbin/nologin mysql:x:997:995::/home/mysql:/sbin/nologin dockerroot:x:996:993:Docker User:/var/lib/docker:/sbin/nologin rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin test1:x:1000:1000::/home/test1:/bin/bash [root@iZbp143t3oxhfc3ar7jey0Z mail]#
第一列: 用户名
第二列: 密码位
第三列: 用户 ID
0 超级用户 UID。如果用户 UID 为 0,代表这个账号是管理员账号。那 Linux 中如何把普通用户升级成为管理员呢?就是把其他用户的 UID 修改为 0 就可以了,这点和Windows 是不同的。不过不建议建立多个管理员账号。
1-499 系统用户(伪用户)UID。这些 UID 账号是系统保留给系统用户的 UID,也就是说 UID 是 1-499 范围内的用户是不能登录系统的,而是用来运行系统或服务的。其中 1-99 是系统保留的账号,系统自动创建。100-499是预留给用户创建系统账号的。
500-60000 普通用户 UID。建立的普通用户 UID 从 500 开始,最大到 60000。这些用户足够使用了,但是如果不够也不用害怕,2.6.x 内核以后的 Linux 系统用户 UID 已经可以支持 232 这么多了。
第四列:组 ID GID 添加用户时,如果不指定用户所属的初始组,那么会建立和用户名相
第五列: 用户说明
第六列: 用户家目录 ~
第七列: 登录 shell /bin/bash
如何把普通用户变成超级用户:把用户 UID 改为 0
2 影子文件
/etc/shadow
第一列: 用户名
第二列: 加密密码
我们也可以在密码前人为的加入“!”或“*”改变加密值让密码暂时失效,使这个用户无法登陆,达到暂时禁止用户登录的效果。
注意所有伪用户的密码都是“!!”或“*”,代表没有密码是不能登录的。当然我新创建的用户如果不设定密码,它的密码项也是“!!”,代表这个用户没有密码,不能登录
第三列: 密码最近更改时间, 1970 年 1 月 1 日作为标准时间时间戳转日期日期转时间戳
第四列: 两次密码的修改间隔时间(和第 3 字段相比)
第五例: 密码有效期(和第 3 字段相比)
第六列: 密码修改到期前的警告天数(和第 5 字段相比)第七列: 密码过期后的宽限天数(和第 5 字段相比)
第八列: 密码失效时间
这里同样要写时间戳,也就是用 1970 年 1 月 1 日进行时间换算。如果超过了失效时间,就算密码没有过期,用户也就失效无法使用了
第九列: 保留
3 组信息文件
/etc/group
第一列: 组名
第二列: 组密码位
第三列: GID
第四列: 此组中支持的其他用户.附加组是此组的用户
[root@iZbp143t3oxhfc3ar7jey0Z mail]# groupadd group1 [root@iZbp143t3oxhfc3ar7jey0Z mail]# gpasswd -a test1 group1 Adding user test1 to group group1 [root@iZbp143t3oxhfc3ar7jey0Z mail]# vim /etc/group [root@iZbp143t3oxhfc3ar7jey0Z mail]#
初始组:每个用户初始组只能有一个,初始组只能有一个,一般都是和用户名相同的组作为初始组。
附加组:每个用户可以属于多个附加组。要把用户加入组,都是加入附加组
4 组密码文件
/etc/gshadow
如果我给用户组设定了组管理员,并给该用户组设定了组密码,组密码就保存在这个文件当中。组管理员就可以利用这个密码管理这个用户组了。
5 用户的家目录
[root@iZbp143t3oxhfc3ar7jey0Z test]# cd /home/test1 [root@iZbp143t3oxhfc3ar7jey0Z test1]# ls -al total 24 drwx------ 2 test1 test1 4096 Mar 13 13:28 . drwxr-xr-x. 5 root root 4096 Mar 13 13:28 .. -rw-r--r-- 1 test1 test1 18 Aug 8 2019 .bash_logout -rw-r--r-- 1 test1 test1 193 Aug 8 2019 .bash_profile -rw-r--r-- 1 test1 test1 231 Aug 8 2019 .bashrc -rw-r--r-- 1 test1 test1 10 Mar 13 13:28 warning.txt
6 用户邮箱目录
这个邮箱在/var/spool/mail 目录当中,例如 user1 用户的邮箱就是/var/spool/mail/user1 文件
[root@iZbp143t3oxhfc3ar7jey0Z test1]# cd /var/spool/mail [root@iZbp143t3oxhfc3ar7jey0Z mail]# ll total 0 -rw-rw---- 1 rpc mail 0 Mar 8 22:22 rpc -rw-rw---- 1 test1 mail 0 Mar 13 13:28 test1 [root@iZbp143t3oxhfc3ar7jey0Z mail]#
7 用户模板目录
/etc/skel/
[root@iZbp143t3oxhfc3ar7jey0Z redis-4.0.12]# vim /etc/skel/warning.txt [root@iZbp143t3oxhfc3ar7jey0Z redis-4.0.12]# useradd test1 [root@iZbp143t3oxhfc3ar7jey0Z test1]# ls -al total 24 drwx------ 2 test1 test1 4096 Mar 13 13:28 . drwxr-xr-x. 5 root root 4096 Mar 13 13:28 .. -rw-r--r-- 1 test1 test1 18 Aug 8 2019 .bash_logout -rw-r--r-- 1 test1 test1 193 Aug 8 2019 .bash_profile -rw-r--r-- 1 test1 test1 231 Aug 8 2019 .bashrc -rw-r--r-- 1 test1 test1 10 Mar 13 13:28 warning.txt [root@iZbp143t3oxhfc3ar7jey0Z test1]#