<< Back to shouce.jb51.net

Chapter 11. Debian系统配置文件说明

Table of Contents

11.1. /etc/passwd、/etc/shadow和/etc/group
11.2. /etc/login.defs
11.3. /etc/securetty
11.4. ~/.gnomerc
11.5. ~/.gtkrc.zh_CN
11.6. ~/.gtkrc-2.0
11.7. /etc/modules
11.8. /etc/gdm.conf
11.9. /etc/kde3/kdm/kdmrc
11.10. /etc/services
11.11. /etc/protocols
11.12. /etc/network/interfaces
11.13. /etc/resolv.conf
11.14. /etc/host.conf
11.15. /etc/hosts
11.16. /etc/hostname
11.17. /etc/hosts.allow和/etc/hosts.deny
11.18. /etc/hdparm.conf

在Debian系统中有很多的配置文件,这些配置文件都很重要,控制着系统和应用程序的运行。下面记录这些配置文件的存放位置、作用和配置参数,以便我们在系统维护中能快速定位和配置这些文件。

11.1. /etc/passwd、/etc/shadow和/etc/group

这三个配置文件用于系统帐号管理,都是文本文件,可用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列代表组成员,我们可把需加入该组的用户以逗号分隔添加到这里即可。同一组的成员可继承该组所拥有的权限。