/etc/passwd 文件中每行定义一个用户账号,有多少行就表示多少个账号,在一行中可以清晰
的看出,各内容之间又通过”:”号划分了 7 个字段,这 7 个字段分别定义了账号的不同属
性,passwd 文件实际内容如下:
# head -5 /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
字段 1:帐号名,这是用户登陆时使用的账户名称,在系统中是唯一的,不能重名
字段 2:密码占位符 x;早期的 unix 系统中,该字段是存放账户和密码的,由于安全原
因,后来把这个密码字段内容移到/etc/shadow 中了。可以看到一个字母 x,表示该用户
的密码 etc/shadow 文件中保护的。
字段 3:UID;范围是 0-65535
字段 4:GID;范围是 0-65535;当添加用户时,默认情况下会同时建立一个与用户同
名且 UID 和 GID 相同的组。
字段 5:用户说明;这个字段是对这个账户的说明
字段 6:宿主目录;用户登陆后首先进入的目录,一般与"/home/用户名"这样的目录
字段 7:登录 Shell
当前用户登陆后所使用的 shell,在 centos/rhel 系统中,默认的 shell
是 bash;如果不希望用户登陆系统,可以通过 usermod 或者手动修改 passwd 设置,将
该字段设置为/sbin/nologin 即可。大多数内置系统账户都是/sbin/nologin,这表示禁止登陆
系统。这是出于安全考虑的。
评论