Table of Contents
在Debian系统中有很多的配置文件,这些配置文件都很重要,控制着系统和应用程序的运行。下面记录这些配置文件的存放位置、作用和配置参数,以便我们在系统维护中能快速定位和配置这些文件。
这三个配置文件用于系统帐号管理,都是文本文件,可用vi等文本编辑器打开。/etc/passwd用于存放用户帐号信息,/etc/shadow用于存放每个用户加密的密码,/etc/group用于存放用户的组信息。
/etc/passwd文件的内容如下:
root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh ...
每一行是由分号分隔的字串组成,它的格式如下:
username:password:uid:gid:gecos:homedir:shell 各域对应的中文说明如下: 用户名:密码:用户ID:组ID:用户全名:主目录:登录shell gecos是通用电子计算机操作系统的缩写,是Bell实验室中的一台大型主机。
Unix系统最初是用明文保存密码的,后来由于安全的考虑,采用crypt()算法加密密码并存放在/etc/passwd文件。现在,由于计算机处理能力的提高,使密码破解变得越来越容易。/etc/passwd文件是所有合法用户都可访问的,大家都可互相看到密码的加密字符串,这给系统带来很大的安全威胁。现代的Unix系统使用影子密码系统,它把密码从/etc/pa sswd文件中分离出来,真正的密码保存在/etc/shadow文件中,shadow文件只能由超级用户访问。这样入侵者就不能获得加密 密码串,用于破解。使用shadow密码文件后,/etc/passwd文件中所有帐户的password域的内容为"x",如果password域的内 容为"*",则该帐号被停用。使用passwd这个程序可修改用户的密。
/etc/shadow存放加密的口令,该文件只能由root读取和修改。下面是shadow文件的内容:
root:$1$43ZR5j08$kuduq1uH36ihQuiqUGi/E9:12973:0:99999:7::: daemon:*:12973:0:99999:7::: bin:*:12973:0:99999:7::: sys:*:12973:0:99999:7::: sync:*:12973:0:99999:7::: ... 我们可用chage命令显示test用户的帐号信息: debian:~# chage -l test 最小: 0 最大: 99999 警告日: 7 失效日: -1 最后修改: 7月 09, 2005 密码过期: 从不 密码失效: 从不 帐户过期: 从不
/etc/shadow文件的格式如下:
username:password:last_change:min_change:max_change:warm:failed_expire:expiration:reserved 各字段的简要说明: last_change:表示自从Linux使用以来,口令被修改的天数。可用chage -d命令修改。 min_change:表示口令的最小修改间隔。可用chage -m命令修改。 max_change:表示口令更改周期。可用chage -M命令修改。 warm:表示口令失效的天数。可用chage -W命令修改。 failed_expire:表示口令失效后帐号的锁定天数。可用chage -I命令修改。 expiration:表示帐号到期日时间。可用chage -E命令修改。 reserved:没有使用,留待以后使用。
在debian系统中,使用shadowconfig on/off命令可控制启用和禁用shadow口令功能。
/etc/group是帐号分组文件,控制用户如何分组。下面是组文件的内容:
root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4: ...
它的格式如下:
groupname:password:gid:members
这里的password代表组口令,很少用到。它可使原先不在这个群组中的用户可以通过newgrp命令暂时继承该组的权限,使用newgrp命令时会新开一个shell。口令的加密方式和passwd文件中的口令一样,所以如果需设置组口令,要用passwd程序虚设一个用户,再把该用户password节中的加密口令拷贝到/etc/group文件中。members列代表组成员,我们可把需加入该组的用户以逗号分隔添加到这里即可。同一组的成员可继承该组所拥有的权限。