LINUX用户管理——/etc/passwd文件详解
输入vi /etc/passwd 可以查看此文件的内容 。本机内容如下:
[root@localhost ~]# vi /etc/passwd
root:x:0:0:root:/root:/bin/bash
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
其中每一行代表一个账号,所以,想查看本机一共有多少账号,直接数passwd文件的行数就可以了,用命令
[root@localhost ~]# cat /etc/passwd | wc -l
42
则代表本机一共有42个账号
查找root用户的个数可以这样做:
[root@localhost ~]# cat /etc/passwd | grep :0
root:x:0:0:root:/root:/bin/bash
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
operator:x:11:0:operator:/root:/sbin/nologin
看哪些账号的第三个字段是0.那么这个就是管理员组账号
六个冒号“:”把文件分成了7列,而每一列代表什么内容呢?
Passwd文件由许多条记录组成,每条记录占一行,记录了一个用户帐号的所有信息。每条记 录由7个字段组成,字段间用冒号“:”隔开,其格式如下: username:password:User ID:Group ID:comment:home directory:shell
字段含义:
- 1.username 用户名
它唯一地标识了一个用户帐号,用户在登录时使用的就是它。
- 2.password 该帐号的口令
passwd文件中存放的密码是经过加密处理的。Linux的加密算法很严密,其中的口令几乎是不可能被破解的。。
- 3.User ID 用户识别码,简称UID。
Linux系统内部使用UID来标识用户,而不是用户名。UID是一个整数,用户的UID互不相同。 0是系统管理员账号,1-499是系统保留账号,500+即一般账号
- 4.Group ID 用户组识别码,简称GID。
不同的用户可以属于同一个用户组,享有该用户组共有的权限。与UID类似,GID唯一地标识了一个用户组。 用usermod -g 设置
- 5.comment 这是给用户帐号做的注解
它一般是用户真实姓名、电话号码、住址等,当然也可以是空的。
- 6.home directory 主目录
这个目录属于该帐号,当用户登录后,它就会被置于此目录中,就像回到家一样。一般来说,root帐号的主目录是/root,其他帐号的家目录都在/home目录下,并且和用户名同名。 用usermod -d 设置
- 7.login command 用户登录后执行的命令
一般来说,这个命令将启动一个shell程序。例如,用bbs帐号登录后,会直接进入bbs系统,这是因为bbs帐号的login command指向的是bbs程序,等系统登录到bbs时就自动运行这些命令。
系统帐号
系统中还有一些默认的帐号,如daemon、bin等。这些帐号有着特殊的用途,一般用于进行系统管理。这些帐号的口令大部分用(x)号表示,代表它们不能在登录时使用。