系统配置目录 /etc (一)

Linux 就是由一坨由一坨文件组成的 ! 本目录就是系统各种配置文件 , 该目录异常庞大 ! 分几个方面来叙述 .

基本文件

/etc/aliases

sendmail 的转发文件 , 原始收件人 (左边一栏) 不一定要是真实存在的用户 .

/etc/auto.*

auto.master 是 autofs 的主配置文件 , 负责规划目录 , 挂载目录配置文件位置 . 可以使用下面三种挂载方式 :
磁盘挂载 : 最常见的 U 盘, 硬盘等等 , 默认挂载到 /misc/ .
网络磁盘挂载 : 一般就是指 NFS 了.
网上邻居格式挂载 : 一般指  Samba 或者其他可以支持 CIFS 文件系统的网络共享磁盘 .
其余的 auto.* 都是由 auto.master 所定义产生的 .
挂载时需要先启动该服务 : # service autofs start

/etc/bashrc

用户登录功能配置 , 比如 umask , $PS1 , aliases , function 等等 , 也就是所有用户必须遵循的文件 . 如需量身订做 , 修改 ~/.bashrc 即可 .

/etc/DIR_COLORS , /etc/DIR_COLORS.xterm

ls 命令的颜色配置文件 , 用户用 TTY 登录就调用 DIR_COLORS , 在 X Window 下使用 xterm 软件登录 , 则是 DIR_COLORS.xterm 文件 . 该文件将内容转变成用户的环境变量使用 , $ env 中的 LS_COLORS 就是从这个文件过来的 .

/etc/fstab

Filesystem tables , 系统启动时自动挂载的文件 . 修改该文件后一定要用 #mount -a 测试一下 .

/etc/inittab

系统启动时所需要的第一个配置文件 , 主要负责 : 遇到临时关机/重启操作的反应 ; 各个 console 的登录方式 ; 进入 X Window 时系统默认使用的管理程序 .

/etc/issue , /etc/issue.net

用户登录时的欢迎字幕 , 前者是本机登录 , 后者是网络登录 . 里面的 \r , \m 可以参见 $ man mingetty

/etc/localtime

当前系统使用的时区 , 取决与当初安装系统时所选择的时区 . 修改时区 :
# cp /usr/share/zoneinfo/Asia/Taipai /etc/localtime
修改 clock 文件 , 将时区设置成修改后的时区
# vi /etc/sysconfig/clock

/etc/motd

message of the day , 让所有成功登录的用户都能看到的信息 .

/etc/mtab

系统在成功挂载完 /etc/fstab 后将成功挂载的文件系统写入 /etc/mtab 中作为记录 , 和 # mount 一样 .

/etc/prelink.sonf

程序执行时 , 会动态地调用这些共享库文件 , 当有大量的连接时 , 为了提升共享库函数的使用效率 , 通过该文件 , 协助软件执行前 , 预先做好 link 的操作 , 这个文件就是记录哪一些文件和库函数需要预先连接的 .

/etc/profile

当用户登录时 , bash 所读入的第一个配置文件 , 接下来才是 /etc/bashrc . 该文件中主要有 $PATH , $HOSTNAME 等环境变量的配置 .

/etc/securetty

记录的是全部登录接口 , 如果从该列表中移除 tty1 , 则不可以使用 tty1 登录 .

/etc/shells

目前系统中所拥有的 shell 种类的路径 , 该文件不会被系统直接读取 , 而是通过 chsh 来更换 login shell .

/etc/sudoers

定制普通用户执行权限的文件 . 这里是一份十分详细的 wiki .

/etc/sysctl.conf

修改 /proc/sys/ 下文件的值重启以后不会保留 , 而该文件则是永久保留要修改的值 . 修改完后需要通过 # sysctl -p 来使其生效 .

/etc/syslogd.conf

syslogd 服务的配置文件 , 系统相关的记录文件主要来自于 klogd 和 syslogd , 前者负责启动时记录,  后者负责系统服务的记录 . 注意 : news.=err 代表只要 err 等级的 ; news.err 代表此等级以上的都需要记录 .
详细的修改方式 , 请点击这里 , 或者 $ man 3 syslog

/etc/host.conf

主机名解析的方式以及顺序配置文件 , 默认是先查询 /etc/hosts 文件 , 再通过 bind 查询 . 除了支持这两个之外 , 还有 NIS .

/etc/hosts

优先于 DNS 查询主机名对应的 IP , hosts 翻墙就是找个没有被墙掉的 ip 加进来 .

/etc/hosts.allow , /etc/hosts.deny

Linux 的安全机制 Tcp Wrapper , 优先考虑 hosts.allow , 并非所有的服务都可以使用 , 常见的诸如 telnet , pop3 , vsftpd , sshd 可以通过该文件来控制 .

/etc/nsswitch.conf

记录如何查询主机名 , 密码 , 用户名 , 网络等 , 或是查询顺序的编排 .

/etc/resolv.conf

DNS 配置文件 .

/etc/services

网络服务列表 , 按下面的格式给出
service-name   port/protocol   [aliases …]

/etc/xinetd.conf

服务的启动方式分两种 :
standalone : 像一般的 http 服务启动时本身会产生父程序 , 并不需要别的程序协助启动 , 所以在等待提供服务时 , 都是由服务本身的程序来监听网络的 .
inetd : 在 inetd 下的服务不会自己启动 , 唯一一个会在在线监听网络状态的 , 就是 xinetd 服务 . 该服务若听到某个子服务 (如 telnet) 需要启动 , 必须通过 xinetd 协助启动 , 所以 telnet 只是 xinetd 下的一个子程序 .
xinetd.conf 就是 xinetd 的主配置文件 , 该文件为 xinetd.d/ 下的所有子程序建立一个标准的规范 .

/etc/anacrontab

计划任务配置文件 , crond 与 anacron 相辅相成 . 负责间隔多久执行一次计划 , 其间隔判断的方式是以存放在 /var/spool/anacron/ 中的时间戳 (timestamp) 为主要依据 .

/etc/at.deny

拒绝该服务的黑名单 , 除此之外 , at 也有白名单 at.allow , 需自行建立 .

/etc/crontab , /etc/cron.deny

cron table 的配置文件 , 与 /etc/anacrontab 类似 . cron.deny 与 at.deny 类似 , 不再累赘 .

/etc/exports

NFS 的主配置文件

/etc/group , /etc/gshadow

用户组两个重要的文件 .

/etc/passwd , /etc/shadow

用户两个重要的文件 .

/etc/login.defs

系统在建立账号所参考的文件 , 例如建立一个普通用户的 UID_MIN 默认是从 500 开始的 .

服务器文件

/etc/BackupPC/

全平台的系统备份服务的配置目录 .

/etc/boa/

单进程 , 轻巧的网页服务器的配置目录 .

/etc/cups/

Linux 下打印机 (common unix printing system) 的主配置目录 .

/etc/dnsmasq.d/

dnsmasq 的专用配置文件目录 , 一种 DNS 的轻薄机种 .

/etc/httpd/

apache 的主配置目录 .

/etc/lighttpd/

lighttpd 网页服务的配置目录 .

/etc/mail/

sendmail 的配置目录 .

/etc/ntp/

ntp (network time protocol) 的配置目录 . 最主要的是 /etc/ntp.conf .

/etc/ldap/

LDAP(lightweight directory access procotol) 的配置目录 .

/etc/postfix/

postfix 的配置目录 .

/etc/pulse/

PulseAudio 的配置目录 .

/etc/samba/

samba 的配置目录 .

/etc/snmp/

SNMP(simple network management protocol) 的配置目录 .

/etc/squid/

squid 的配置目录 .

/etc/ssh/

ssh 的配置目录 .

/etc/tclhttpd/

tclhttpd 的配置目录 . 由 TCL 语言开发 .

/etc/vsftpd/

vsftpd 的配置目录 .

/etc/xinet.d/

依附在 xinetd 这个 daemon 之下的服务 , 例如 telnet 等 . 有些用 standalone 模式启动的其实也可以通过配置将其 daemon 归属于 xinetd 下 , 如 vsftpd , 只要修改 vsftpd.conf 中的 listen 参数即可 .

参考自 : 邱世华 Linux 系统架构与目录解析

  • dai

    沙发

  • http://zerob13.in zerob13

    bashrc只是bash shell的配置。。。如果是ksh,csh,zsh等等的用户就没用了~哈哈哈
    顶一个好文章~
    everything is a file

    • http://jaseywang.info jaseywang

      确实是的 , 不过至今未用过除 bash 之外的 shell ~ 据说 zshell 很强大…

      • http://zerob13.in zerob13

        zshell的确蛮强,不过我感觉上手不适应,也就浅尝辄止了。csh其实不错,很适合C程序员上手。。。
        bash就是通用,但是呢,感觉bash的shell语法各种恶心,哈哈哈,个人偏见