理解linux配置文件
原文:http://www.ibm.com/developerworks/cn/linux/management/configuration/
/etc/host.conf 告诉网络域名服务器如何查找主机名。(通常是 /etc/hosts,然后就是名称服务器;可通过 netconf 对其进行更改)/etc/hosts 包含(本地网络中)已知主机的一个列表。如果系统的 IP 不是动态生成,就可以使用它。对于简单的主机名解析(点分表示法),在请求 DNS 或 NIS 网络名称服务器之前,/etc/hosts.conf 通常会告诉解析程序先查看这里。/etc/hosts.allow 请参阅 hosts_access 的联机帮助页。至少由 tcpd 读取。/etc/hosts.deny 请参阅 hosts_access 的联机帮助页。至少由 tcpd 读取。/etc/issue & /etc/issue.net 这些文件由 mingetty(和类似的程序)读取,用来向从终端(issue)或通过 telnet 会话(issue.net)连接的用户显示一个“welcome”字符串。它们包括几行声明 Red Hat 版本号、名称和内核 ID 的信息。它们由 rc.local 使用。/etc/redhat-release 包括一行声明 Red Hat 版本号和名称的信息。由 rc.local 使用。/etc/rc.d/rc 通常在所有运行级别运行,级别作为参数传送。例如,要以图形(Graphics)模式(X-Server)引导机器,请在命令行运行下面的命令: init 5 。运行级别 5 表示以图形模式引导系统。 /etc/rc.d/rc.local 非正式的。可以从 rc、rc.sysinit 或 /etc/inittab 调用。/etc/rc.d/rc.sysinit 通常是所有运行级别的第一个脚本。/etc/rc.d/rc/rcX.d 从 rc 运行的脚本( X 表示 1 到 5 之间的任意数字)。这些目录是特定“运行级别”的目录。当系统启动时,它会识别要启动的运行级别,然后调用该运行级别的特定目录中存在的所有启动脚本。例如,系统启动时通常会在引导消息之后显示“entering run-level 3”的消息;这意味着 /etc/rc.d/rc3.d/ 目录中的所有初始化脚本都将被调用。 /etc/mtab 这将随着 /proc/mount 文件的改变而不断改变。换句话说,文件系统被安装和卸载时,改变会立即反映到此文件中。/etc/fstab 列举计算机当前“可以安装”的文件系统。这非常重要,因为计算机引导时将运行 mount -a 命令,该命令负责安装 fstab 的倒数第二列中带有“1”标记的每一个文件系统。 /etc/mtools.conf DOS 类型的文件系统上所有操作(创建目录、复制、格式化等等)的配置。/etc/group 包含有效的组名称和指定组中包括的用户。单一用户如果执行多个任务,可以存在于多个组中。例如,如果一个“用户”是“project 1”工程组的成员,同时也是管理员,那么在 group 文件中他的条目看起来就会是这样的: user: * : group-id : project1 /etc/nologin 如果有 /etc/nologin 文件存在,login(1) 将只允许 root 用户进行访问。它将对其它用户显示此文件的内容并拒绝其登录。etc/passwd 请参阅“man passwd”。它包含一些用户帐号信息,包括密码(如果未被 shadow 程序加密过)。/etc/rpmrc rpm 命令配置。所有的 rpm 命令行选项都可以在这个文件中一起设置,这样,当任何 rpm 命令在该系统中运行时,所有的选项都会全局适用。/etc/securetty 包含设备名称,由 tty 行组成(每行一个名称,不包括前面的 /dev/),root 用户在这里被允许登录。/etc/usertty
/etc/shadow 包含加密后的用户帐号密码信息,还可以包括密码时效信息。包括的字段有: 登录名加密后的密码从 1970 年 1 月 1 日到密码最后一次被更改的天数距密码可以更改之前的天数距密码必须更改之前的天数密码到期前用户被警告的天数密码到期后帐户被禁用的天数从 1970 年 1 月 1 日到帐号被禁用的天数/etc/shells 包含系统可用的可能的“shell”的列表。/etc/motd 每日消息;在管理员希望向 Linux 服务器的所有用户传达某个消息时使用。/etc/gated.conf gated 的配置。只能被 gated 守护进程所使用。/etc/gated.version 包含 gated 守护进程的版本号。/etc/gateway 由 routed 守护进程可选地使用。/etc/networks 列举从机器所连接的网络可以访问的网络名和网络地址。通过路由命令使用。允许使用网络名称。/etc/protocols 列举当前可用的协议。请参阅 NAG(网络管理员指南,Network Administrators Guide)和联机帮助页。 C 接口是 getprotoent。绝不能更改。/etc/resolv.conf 在程序请求“解析”一个 IP 地址时告诉内核应该查询哪个名称服务器。/etc/rpc 包含 RPC 指令/规则,这些指令/规则可以在 NFS 调用、远程文件系统安装等中使用。/etc/exports 要导出的文件系统(NFS)和对它的权限。/etc/services 将网络服务名转换为端口号/协议。由 inetd、telnet、tcpdump 和一些其它程序读取。有一些 C 访问例程。/etc/inetd.conf inetd 的配置文件。请参阅 inetd 联机帮助页。包含每个网络服务的条目,inetd 必须为这些网络服务控制守护进程或其它服务。注意,服务将会运行,但在 /etc/services 中将它们注释掉了,这样即使这些服务在运行也将不可用。格式为:<service_name> <sock_type> <proto> <flags> <user> <server_path> <args>/etc/sendmail.cf 邮件程序 sendmail 的配置文件。比较隐晦,很难理解。/etc/sysconfig/network 指出 NETWORKING=yes 或 no。至少由 rc.sysinit 读取。/etc/sysconfig/network-scripts/if* Red Hat 网络配置脚本。/etc/lilo.conf 包含系统的缺省引导命令行参数,还有启动时使用的不同映象。您在 LILO 引导提示的时候按 Tab 键就可以看到这个列表。/etc/logrotate.conf 维护 /var/log 目录中的日志文件。/etc/identd.conf identd 是一个服务器,它按照 RFC 1413 文档中指定的方式实现 TCP/IP 提议的标准 IDENT 用户身份识别协议。identd 的操作原理是查找特定 TCP/IP 连接并返回拥有此连接的进程的用户名。作为选择,它也可以返回其它信息,而不是用户名。请参阅 identd 联机帮助页。/etc/ld.so.conf “动态链接程序”(Dynamic Linker)的配置。/etc/inittab 按年代来讲,这是 UNIX 中第一个配置文件。在一台 UNIX 机器打开之后启动的第一个程序是 init,它知道该启动什么,这是由于 inittab 的存在。在运行级别改变时,init 读取 inittab,然后控制主进程的启动。/etc/termcap 一个数据库,包含所有可能的终端类型以及这些终端的性能。/etc/syslogd.conf syslogd 守护进程的配置文件。syslogd 是一种守护进程,它负责记录(写到磁盘)从其它程序发送到系统的消息。这个服务尤其常被某些守护进程所使用,这些守护进程不会有另外的方法来发出可能有问题存在的信号或向用户发送消息。/etc/httpd.conf Web 服务器 Apache 的配置文件。这个文件一般不在 /etc 中。它可能在 /usr/local/httpd/conf/ 或 /etc/httpd/conf/ 中,但是要确定它的位置,您还需要检查特定的 Apache 安装信息。/etc/conf.modules or /etc/modules.conf kerneld 的配置文件。有意思的是,kerneld 并不是“作为守护进程的”内核。它其实是一种在需要时负责“快速”加载附加内核模块的守护进程。文件名 描述 threads-max内核可运行的最大任务数。ctrl-alt-del如果值为 1,那么顺序按下这几个键将“彻底地”重新引导系统。sysrq如果值为 1,Alt-SysRq 则为激活状态。osrelease显示操作系统的发行版版本号ostype显示操作系统的类型。hostname系统的主机名。domainname网络域,系统是该网络域的一部分。modprobe指定 modprobe 是否应该在启动时自动运行并加载必需的模块。
文件名 描述 ~/.bash_login请参考“man bash”。如果 ~/.bash_profile 不存在,bash 则将 ~/.bash_login 作为 ~/.bash_profile 处理。~/.bash_logout请参考“man bash”。在退出时由 bash 登录 shell 引用。~/.bash_profile由 bash 登录 shell 引用 /etc/profile 之后引用。~/.bash_history先前执行的命令的列表。~/.bashrc请参考“man bash”。由 bash 非登录交互式 shell 引用(没有其它文件)。除非设置了 BASH_ENV 或 ENV,非交互式 shell 不引用任何文件。~/.emacs启动时由 emac 读取。~/.forward 如果这里包含一个电子邮件地址,那么所有发往 ~ 的所有者的邮件都会被转发到这个电子邮件地址。~/.fvwmrc ~/.fvwm2rcfvwm 和 fvwm2(基本的 X Window 管理器)的配置文件。~/.hushlogin请参考“man login”。引起“无提示”登录(没有邮件通知、上次登录信息或者 MOD 信息)。~/.mail.rc邮件程序的用户初始化文件。~/.ncftp/ncftp 程序的目录;包含书签、日志、宏、首选项和跟踪信息。请参阅 man ncftp。ncftp 的目的是为因特网标准文件传输协议(Internet standard File Transfer Protocol)提供一个强大而灵活的接口。它旨在替换系统所使用的标准的 ftp 程序。~/.profile请参考“man bash”。如果 ~/.bash_profile 和 ~/.bash_login 文件不存在,bash 则将 ~/.profile 作为 ~/.bash_profile 处理,并被其它继承 Bourn 的 shell 使用。~/.pinercPine 配置~/.muttrcMutt 配置~/.exrc这个文件可以控制 vi 的配置。
示例:set ai sm ruler
在此文件中写入上面一行会让 vi 设置自动缩进、匹配括号、显示行号和行-列这几个选项。 ~/.vimrc缺省的“Vim”配置文件。和 .exrc 一样。~/.gtkrcGNOME 工具包(GNOME Toolkit)。~/.kdercKDE 配置。~/.netrcftp 缺省登录名和密码。~/.rhosts由 r- 工具(如 rsh、rlogin 等等)使用。因为冒充主机很容易,所以安全性非常低。
参考资料
您可以参阅本文在 developerWorks 全球站点上的 英文原文.关于作者
Subodh Soni 持有印度 College Surat 大学计算机科学与技术地区工程学的工程学学士学位。他为印度的 IBM Global Services(IBM Software Labs)工作;他还是 IBM Linux Technology Center 的成员之一,在那里他致力于 Linux RAS(Reliability,Availability and Serviceability(可靠性、可用性和适用性))。他感兴趣的其它领域还有操作系统内部、Linux 系统管理和疑难解答。您可以通过 subodh@in.ibm.com 与他联系。
<!-- MAIN_COLUMN_CONTENT_END --><!-- INLINE_COMMENTS_START -->建议