# 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
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
aming:x:
500:500::/home/aming:/bin/bash
1.用户名
比如第一行中的root,代表用户账号的字符串。用户名字符可以是
大小写字母、数字、减号(不可以出现在首位)、点、下划线,其他字符不合法。实际操作中,不建议使用
点,尤其是首位为
点时,另外
减号也不建议使用,容易造成混淆。
2.对应账号口令
早期lunix的密码放置的位置,后出于安全因素考虑,放置到/etc/shadow中,这里只用一个"x"代替。
3.用户标识号,uid
每个用户都有一个uid,系统通过这个数字用来识别用户身份,0就是root,若修改test账户的uid为0,那么系统会自动认为test和root是同一个账户。
uid取值范围0~65536,实际上支持到4294967294,其中0是超级用户的标示,1~499由系统保留,作为管理账号,普通用户识别号由500开始。自定义建立普通用户,用户号大于等于500.
aming :x :500 :500 : :/home/aming :/bin/bash
4.组标识号,gid
该字段对应着/etc/group中的一条记录,其实/etc/passwd和/etc/group基本上类似。
/bin/false和/sbin/nologin的区别
/bin/false是最严格的禁止login选项,一切服务都不能用。而/sbin/nologin只是不允许login系统,但可以使用其他ftp等服务。如果想要用false在禁止login的同时允许ftp,则必须在/etc/shells里增加一行/bin/false。
5.注释说明
该字段没有实际意义,记录用户的属性,如名字,电话,地址等等。普通用户该字段是空的,没有东西。
6.用户家目录
用户登录时,就会出在这个目录。root家目录是/root,普通用户家目录格式为 /home/username, 用户家目录可以自定义。例如,建立一个普通用户test1,想让test1的家目录在/date目录下,只需要修改/etc/passwd文件中对应用户所在行的字段为/date即可。
7.用户的shell
用户登录成功后要启动一个进程,用来将用户下达的指令传递给内核,这就是shell。
root用户和普通用户的默认shell是/bin/bash,该字段中除了/bin/bash,还有/sbin/nologin,表示不允许该账号登陆;/bin/false 表示不能登陆该账号; /bin/shutdown 表示关机。
创建用户的时候,不想该用户登陆,可以更改其shell为/sbin/nologin 或者 /bin/false。