文件/etc/passwd,所有用户都可以对其进行读(read)操作
[root@sec/home]# 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
sec:x:1000:1000:sec:/home/sec:/bin/bash
每一行均由七块组成,用 :分割
以第一行为例:root:x:0:0:root:/root:/bin/bash
1. root 用户名
2. x 密码,x仅代表该用户需要密码登录,真正的密码存在/etc/shadow中
3. 0 UID,用户ID
CentOS 6中,1~499设为虚拟用户ID,500~65535为普通用户ID
CentOS 7/8中,1~999设为虚拟用户ID,1000~65535为普通用户ID
0为root用户ID
4. 0 GID,用户组ID(初始组ID号)
初始组:用户登陆时就拥有这个用户组的相关权限。每个用户的初始组只能有一个,通常就是将和此用户的用户名相同的组名作为该用户的初始组。比如我们手动创建用户 sec,在建立用户sec同时,就会建立sec组作为sec用户的初始组。
用户可以加入多个其他的用户组,并拥有这些组的权限。
附加组:每个用户只能有一个初始组,除初始组外,用户再加入其他的用户组,这些用户组就是这个用户的附加组。附加组可以有多个,而且用户可以有这些附加组的权限。
注:这里的GID字段是指初始组。(即/etc/passwd中)
5. root 仅作为描述性信息,无其他特殊含义
6. /root 该用户的家目录
如上述例中,root用户的家目录为/root,sec用户家目录为/home/sec
创建用户时,可用-d指定家目录,如:useradd -d /home/sec_man sec_man
7. /bin/bash 用户所用shell,默认为/bin/bash
可用cat /etc/shells查看当前虚拟机下所有的shell
创建用户时,可用-s指定shell,如:useradd -s /bin/bash sec_man