管理linux账号,基本都是围绕/etc/passwd、/etc/group、/etc/shadow、/etc/gshadow这四个文件进行,所以这里有必要先对这四个文件进行说明。
我们先看/etc/passwd
这是截选的/etc/passwd的部分内容,其余内容形式和这个类似。这部分内容,每行被冒号分隔成七个部分。
第一部分,当然就是账号,这里可以看到root账号,你自己创建的账号,还有各种各样的系统账号。
第二部分,本来是用来存储密码的,现在密码已经转移到/etc/shadow,这里就统一填充为x。
第三部分,UID,可以看到root账号的UID是0,发行版自己建立的系统账号UID一般是199,100999为用户有系统账号需求时可以使用的UID,而1000以上则是普通用户使用的UID。
第四部分,GID,root账号的GID也是0,其余的GID类似。
第五部分,这个部分可以用来填充账号的一些详细信息,比如名字、电话等。
第六部分,账号的家目录,一般账号登录后会立刻切换到其家目录。
第七部分,账号的默认shell,这里要注意的是/usr/sbin/nologin它表示默认没有登录环境。
再来看/etc/group
同样的,被冒号分隔成四个部分。
第一部分,用户组名。
第二部分,本来是用来存储用户组管理员的密码的,已经转移到/etc/gshadow,这里就统一填充为x。
第三部分,GID,对应/etc/passwd第四部分。
第四部分,该组支持的成员,这里要注意的是,以该组作为初始组的成员并不会被写到这部分里面。
/etc/shadow
需要管理员权限才能查看,同样的,由冒号分隔成九个部分。
第一部分,账号名称。
第二部分,经过加密后的密码。该部分如果是!则代表这个账号还未设定密码。如果该部分前面是!, 代表这个用户被锁定不能登录。如果是* ,代表这个密码是被锁定的也不能够登录。
第三部分,最近更改密码的日期,这个日期是以1970年1月1日为基准计算的。
第四部分,密码最少多少天后才能更改,0的意思就是马上就可以。
第五部分,密码多少天之后必须更改,超过这一天则密码过期,99999的意思是不强制多久更改密码。
第六部分,密码过期前几天开始提示。
第七部分,密码过期后还可以使用几天,在这几天里,依旧可以使用密码登录,但是登录时会强制要求更改密码。超过这几天还没有更改密码,那么就不能再用这个密码登录了。
第八部分,账号的失效日期,超过这个日期,不管密码有没有变更,这个账号都无法再登录。以1970年1月1日为基准计算。
第九部分,保留部分,暂时无意义。
/etc/gshadow
需要管理员权限才能查看,也其他三个文件一样,被冒号分成四个部分。
第一部分,用户组名。
第二部分,经过加密的组密码,!表示没有合法的组密码,*表示这个密码被锁定。
第三部分,用户组管理员账号。
第四部分,该用户组支持的账号成员,与/etc/group相同。
linux账号管理,基本操作的就是这四个文件。