/etc/passwd与/etc/shadow配置文件说明
时间:2010-09-26 来源:fzguon
一、/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。
二、/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日开始累加来设置的。该字段表示,这个账号在此字段规定的日期后,将无法使用。通常在“收费服务”的系统中使用。
* 保留:目前没有使用。用于以后增加新字段。