1、/etc/passwd文件
这个文件的构造是这样的:每一行都表明一个帐号,有几行就表明有几个帐号在你的系统中。不过须要特别留意的是,里头不少帐号原本就是系统中必需要的(例如 bin, daemon, adm, nobody 等等),请不要随意删除。文件的内容相似:
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
能够明显看出,每一行使用“:”分割开,共有7个部分的内容,分别表示:
* 帐号名称:对于UID。
* 密码:这里能够看到x,这表示密码已经移到shadow这个加密后的文件中了。
* UID:这就是用户识别码(ID),一般Linux对UID有几种限制,以下表:
0 系统管理员,因此当你要做另外一个系统管理员帐号时,你能够将该帐号的UID改为 0 便可;
1~500 保留给系统使用的ID,建议保留500之前的UID给系统。不过,通常来讲,1~99会保留给系统默认的帐号,另外100~499则保留给一些服务来使用
500~65535 给通常用户用。
* GID:与/etc/group有关。其实/etc/group的概念与/etc/passwd差很少,只是它是用来规范用户组而已。
* 用户信息说明栏:这个字段基本上并无什么用途,只是用来解释这个帐号的意义而已。不过,若是使用finger的功能时,这个字段能够提供不少的信息。
* 家目录:用户的家目录。若是你有个帐号的使用空间特别的大,想要将该帐号的家目录移动到其它地方,则能够在这里进行修改。
* Shell:用于帐号登入时,其所使用的shell。咱们一般使用/bin/bash这个shell来执行命令。有一个shell能够用来替代帐号没法登入的命令,那就是/sbin/nologin。
2、/etc/shadow
咱们先来看一下/etc/shadow的文件:
root:$K.K2.hqu.QfV.dkjjteojiasdlkjeo:11661:0:99999:7:::
bin:*:11661:0:99999:7:::
daemon:*:11661:0:99999:7:::
adm:*:11661:0:99999:7:::
一样的,shadow以“:”作为分割,下面对各个部分进行说明,
* 帐号名称:要求与/etc/passwd相同
* 密码:这里的密码都是加密后的状态。另外,若是密码栏的第一个字符为“*”或者“!”,则表示这个帐号不能登入。因此,咱们能够在这个文件中,将他的密码字段最前面多加一个“*”,他就没法使用该帐号了。
* 最近更改密码的日期:这个字段记录了“更改密码的那一天”的日期。不过linux日期是以1970年1月1日作为1,因此这个日期是累加的。
* 密码不可更改的天数:记录该帐号须要通过几天才可以修改密码。若是是0,则表示随时都可修改。
* 密码须要从新更改的天数:设置这个表示该帐号,必需要在这个时间内从新设置密码,不然这个帐号将会暂时失效。若是99999的话,则表示密码不须要从新输入。
* 密码更改期限前的警告期限:当帐号的密码失效期限快要到的时候,系统会依据这个字段的设置,发出“警告”信息给这个帐号,提醒他“再过n天你的密码就要失效了,请尽快从新设置你的密码”
* 密码过时宽限时间:若用户过了警告期限没有从新输入密码,使得密码失效。设置了这个字段后,表示密码失效后,还可使用这个密码在n天内登入。若在这个天数后尚未更改密码,那么帐号就会失效。
* 帐号失效日期:这个日期也是从1970年1月1日开始累加来设置的。该字段表示,这个帐号在此字段规定的日期后,将没法使用。一般在“收费服务”的系统中使用。
* 保留:目前没有使用。用于之后增长新字段。linux