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 这么多了。
第四列:组 IDGID 添加用户时,如果不指定用户所属的初始组,那么会建立和用户名相
第五列:用户说明
第六列:用户家目录~
第七列:登录 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 24drwx------ 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:22rpc-rw-rw---- 1 test1 mail 0 Mar 13 13:28test1
[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 24drwx------ 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:28warning.txt
[root@iZbp143t3oxhfc3ar7jey0Z test1]#