/etc/passwd:
用户的信息是保存在/etc/passwd下面(早期的时候,用户的密码也是放在该文件中。后来出于安全考虑,将密码放在/etc/shadow中去):
/etc/group:
用户组的信息是保存在/etc/group下面:
/etc/shadow:
密码信息是保存在/etc/shadow下面:
通过‘:’,将/etc/shadow的内容分层以下内容(从左至右)
帐号名称
密码
最近修改密码的日期(从1970-1-1开始算起,单位是天)
从上一次修改日期算起,密码不可更改的天数
密码需要重新设置的天数(上面例子中,为99999天)
密码需要重新设置前的警告天数
密码过期后的宽限时间,在宽限时间内密码仍可用
帐号失效日期
保留(用于将来扩展)
初始组和有效组:
一个用户可以属于多个用户组,那么这就带来一个问题,当用户创建文件或者文件夹的时候,那么该文件或者文件夹的用户组应该是哪个呢?实际上,/etc/passwd下面记录的GID是初始组的ID。当用户登录以后就具有了初始组的权限。文件或者文件夹的用户组是由创建者的有效组决定的。我们可以通过groups命令查看当前用户所有的用户组,排在第一位就是有效组,参看下面的例子:
我们可以通过newgrp groupname来改变当前用户的有效组。需要注意的是,使用了这个命令后,实际是启动了一个新的bash进程,新的有效组群只在新的bash进程中生效。返回来原来的bash进程后,新设置的有效组就失效了,例子如下: