首页 > 代码库 > 菜鸟学Linux - 用户与用户组基础

菜鸟学Linux - 用户与用户组基础

/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进程后,新设置的有效组就失效了,例子如下:

菜鸟学Linux - 用户与用户组基础