/etc/passwd 用户信息文件
cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
1、password的值是x,表示该用户有密码,早期linux密码确实就放在这个地方,现在放在/etc/shadow里。
cat /etc/shadow
root:$6$vG48kG91HUV/1CnO$SPv6scDHHRiqcRIrxAzZ6lGqMivbqWgtQJpIh49u44jrZ.vv.NvpSZbHo.Vw6BNZ67oRHuEkdcsglvf3YGp4r.::0:99999:7:::
ll /etc/passwd
-rw-r--r--. 1 root root 886 8月 22 2018 /etc/passwd
ll /etc/shadow
----------. 1 root root 710 8月 22 2018 /etc/shadow
/etc/passwd每个用户都有读权限,所以把密码放在000权限的/etc/shadow文件里,尽管是密文。只有root用户可以打开/etc/shadow文件。
2、UID(用户ID)是0,表示该用户是超级用户
0 超级用户;1-499 系统用户(伪用户);500-65535 普通用户。系统通过UID辨识用户,相当于人的身份证。理论上UID是唯一的,但如果我们把一个普通用户的UID改为0,这个普通用户就成了超级管理员了,修改后密码还是他原来的密码。把一个普通用户改为超级用户,是修改他的UID为0,而不是修改他的GID。
3、GID(用户初始组ID)
用户组有初始组和附加组,初始组是和用户名相同的用户组,附加组是另外添加的用户组。初始组可以更改,只能有一个,但不建议更改。
4、GECOS
用户说明信息
5、dirctory
用户家目录
6、shell
登陆之后的shell。shell是命令解释器,标准shell是/bin/bash。将一个用户的这个值改为/sbin/nologin,就禁用了这个用户,不可以登陆了。
/etc/shadow 文件
用户名:加密密码:密码最后修改日期:两次密码的修改间隔时间:密码有效期:密码到期前警告天数:密码到期后的宽限时间:保留
root:$6$vG48kG91HUV/1CnO$SPv6scDHHRiqcRIrxAzZ6lGqMivbqWgtQJpIh49u44jrZ.vv.NvpSZbHo.Vw6BNZ67oRHuEkdcsglvf3YGp4r.::0:99999:7:::
加密密码:如果是*或!!表示这个用户没有密码,不能登陆。如果把一个普通用户的password设为*或在他的密文前加一个!会禁用掉这个用户。
密码最后修改日期:表示1970年1月1日后的第xxx天,单位是天。
两次密码的修改间隔时间:表示修改密码后再等多少天才可以再次修改密码。
密码有效期:以天为单位。
密码到期前警告天数:假如密码有效期是90天,密码到期前警告天数是7,那么到第83天开始,会提醒修改密码。
密码到期后的宽限时间:如果在这一段时间还没有修改密码,到期就会禁用掉这个用户。-1,永远不禁用。
帐号失效时间:时间戳格式,以天为单位。如果设置为30以后,假如密码有效期是90天,会覆盖掉这个90天。
时间戳转日期 date -d "1970-01-01 16066 days"
日期转时间戳 echo $(($(date --date="2014/01/06" +%s)/86400+1))
/etc/group
组名:组密码标志:GID:组中附加用户
root:x:0:
组密码:root给一个组添加组密码,知道这个密码的组成员就可以把其它用户添加到这个组中来。不推荐使用。
/etc/gshadow
组名:组密码:组管理员用户名:组中附加用户
每个用户都有一个邮箱目录
/var/spool/mail/用户名
每个用户都有一个模板目录
/etc/skel
cd 到一个用户的家目录,ls -a有一些隐藏文件,这些文件不是我们手工创建的。这些文件是从模板目录中复制过来的。我们在模板目录中写一个文件wangning.txt,内容为“请遵守操作规范!”,那么我们新建一个用户,这个用户的家目录下就会有这个文件。