1./etc/password

(1)每行记录一个用户的信息
从上面的例子我们可以看到,/etc/passwd中一行记录对应着一个用户,每行记录又被冒号(:)分隔为7个字段,其格式和具体含义如下:
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
字段 | 含义 |
---|---|
1 | 用户名 |
2 | 用户的密码原来直接存储在第二字段,但是为了安全,最后专门有了/etc/shadow文件,现在默认用x替代 |
3 | 用户的uid,一般情况下root为0,1-499默认为系统账号,有的更大些到1000,500-65535为用户的可登录账号,有的系统从1000开始。 |
4 | 用户的gid,linux的用户都会有两个ID,一个是用户uid,一个是用户组id,在我们登录的时候,输入用户名和密码,其实会先到/etc/passwd查看是否有你输入的账号或者用户名,有的话将该账号与对应的UID和GID(在/etc/group中)读出来。然后读出主文件夹与shell的设置,然后再去检验密码是否正确,正确的话正常登录。 |
5 | 用户的账号说明解释 |
6 | 用户的家目录文件夹 |
7 | 用户使用的shell,如果换成/sbin/nologin/就是默认没有登录环境的。 |
(4)登录口令部分。
①设置了登录口令,则填入x;没有设置登录口令,则填入空。
②原来设置了登录口令,记为password;未使用修改密码的命令,而是直接用超级用户权限删除了/etc/passwd中登录口令列的“x”,那么该行用户登录时将不在需要口令密码。
③在②的基础上,未使用修改密码的命令,而是直接用超级用户权限在/etc/passwd中登录口令列添加了字符“x”。那么该行用户登录时,将需要口令密码。该口令密码即是原来的password。
④原来没有设置登录口令;未使用修改密码的命令,而是直接用超级用户权限在/etc/passwd中登录口令列添加了字符“x”。那么将只有一种方式可以登录该用户,即先切换为超级用户,在由超级用户su到该用户。否则,将因为口令错误而无法登录该用户。
(5)用户ID部分。一般情况,超级用户是0,系统用户是1~499,普通用户是500~65535。