Linux 用户名文件是 /etc/passwd
可以说是 Linux 系统中最重要的文件之一。如果这个文件出了问题,则无法正常登录 Linux 系统。
|
|
“head” 前面的 “|” 叫做管道符,它的作用是把前面的命令的输出再输入给后面的命令。
用户名文件每个字段的含义
/etc/passwd
由 :
分割成 7 个字段,每个字段的含义是:
1.用户名
如第一行中的 root 就是用户名,代表用户帐号的字符串。用户名字符串可以是大小写字母、数字、减号(不能出现在首位)、点以及下划线,其他字符不合法。虽然用户名中可以出现点,但不建议使用,尤其是首位为点时,另外减号也不建议使用,因为庸医造成混淆。
2.帐号口令
第二字段存放的就是该帐号的口令。为什么是 ‘x’ 呢?早起的 unix 系统口令是存放在这里,但基于安全因素,后来就将其到 ‘/etc/shadow’ 中了,这里只用一个 ‘x’ 代替。
3.用户标识号
这个数字代表用户标识号,也叫做 uid 。系统识别用户身份就是通过这个数字, 0 就是 root ,也就是说可以修改 test 用户的 uid 为 0 ,那么系统就会认为 root 和 test 为同一个账户。通常 uid 的取值范围是 0-65535 (但实际上已经可以支持到 4294967294),0 是超级用户 (root)的表示号,1-499 有系统保留,作为管理帐号,普通用户的表示号从 500 开始,如果自定义建立一个普通用户,可以看到该账户的标识号是大于或等于 500 的。
4.组表示号
这个数字表示组标识号,也叫做 gid 这个字段对应着 /etc/group 中的一条记录,其实 /etc/group 和 /etc/passwd 基本上类似。
5.注释说明
该字段没有实际意义,通常记录该用户的一些属性,例如姓名、电话、地址等等。不过,当使用 finger 的功能时就回显示这些信息。
6.用户家目录
当用户登录时就处在这个目录下。 root 的家目录是 /root,普通用户的家目录则为 /home/username ,这个字段是可以自定义的,比如建立一个普通用户 test1 ,要想让 test1 的家目录在 /data 目录下,只要修改 /etc/passwd 文件中的 test1 那行中的该字段为 /data 即可。
7.shell
用户登录后要启动一个进程,用来将用户下达的指令传给内核,这就是 shell 。Linux 的 shell 有很多中 sh 、csh 、ksh 、tcsh 、bash等,而 Redhat /CentOS 的 shell 就是 bash 。查看 /etc/passwd 文件,该字段中除了 /bin/bash 外还有 /sbin/nologin 比较多,它表示不允许该帐号登录。如果想建立一个帐号不让它登录,那么就可以把该字段改成 /sbin/nologin 默认是 /bin/bash。
chfn 更改用户的 finger
在 /etc/passwd 文件中的第五个字段中所显示的信息,如何去设定:
|
|
‘chfn’ 命令可以修改用户的findger信息,比如name, office, office phone 以及 Home phone.修改完后,就会在/etc/passwd文件中的user11的那一行第五个字段中看到相关信息了,默认是空的。“grep” 命令,它是用来过滤指定关键词的行