1、一、简介:Linux 操作系 统中,以文件来表示所有的逻辑实体与非逻辑实体。逻辑实体系指文件与目录; 非 逻辑实体则泛指硬盘、终端机、打印机等。一般而言,Linux 文件名称的组成除由连续字母、标点符号、数字等构成外,中间不能有空格符、路径名称符号 / 或 # * % 通常只要更动过/etc 目录下之设定档内容必须重新激活设定档使设定生效,且一般亦无须重开机。以下谨胪列主要文件如后:(1) HOSTNAME本文件内容仅记载主机+网域名称,在系统提示符号下输入 hostname 可以显示HOSTNAME 之文件内容。如:、、、 等。(2) XF86Config本文件内容为 X Window Sy
2、stem 的主要设定档,Caldera 的版本放在/etc 目录下,RedHat 版本 则放在/etc/X11 目录下,有关 显示卡、鼠标、键盘均可在此加以设定。(3) aliases本文件内容用来设定邮件别名及邮件清单可以让特定的地址转寄给不同的使用者或群组;编辑 完/etc/aliases 后须下 newaliases 指令使之生效,对于由远程寄送至local 端的邮件具有备份功能,为 mail server 重要的设定档之一。(4) amd.conf本文件为一常驻服务程序(daemon),全名为 automatically mount file system,Caldera 的版本称为
3、am.d;是一个能自动 mount 和 umount cdrom 和floppy 的文件系统。(5) at.deny本文件为对能否使用 at 指令的使用者加以限制, at 是一个非常有用的工具,可以让使用者指定在特定时刻执行某个程序或指令,通常只执行一次。如果你想定时定期的执行某项工作,应该使用 cron 工具而非 at。(6) crontab本文件可让系统定时执行排程工作为系统管理上极为重要之文件,Cron 是一个常驻程序 (daemon),在开机时 激活 cron 的 daemon 时,它会自动去检查/var/spool/cron 目录下面看看是否有任何 cron 文件。每一个 user
4、的可以去设定自己所要排定执行的工作。在这一个目录底下,每一个 user 会有一个属于他 loginid名称的 cron 文件, crond 会自动将这些 user 的 cron 文件加载至内存中,并定期去执行每个 user 的 cron 文件。另外,crond 也会去读取 /etc/crontab 的内容。这是属于系统的 cron 工作设定文件,主要系 统会定期去执行 /etc/cron.d/ 目录下面四个 cron.daily、cron.hourly、cron.weekly、cron.monthly 目录下(RedHat 版本则集中放在/etc 目录下) 的命令。(7) dhcpd.conf
5、本文件为 DHCP Server 的设定档,可烤贝/usr/doc/dhcp-serial number 目录下的dhcpd.conf.sample 至/etc 目录下,该文件内容一般有记载着subnet、netmask、routers、domain-name、default-lease-time、max-lease-time 及 IP range;亦可一并指派固定 IP 给特定主机。(8) dosemu.conf本文件为 Dos 仿真器的设定文件可以在 Linux 上仿真 Dos 环境,用 Dos 指令。(9) dumpdatedump 指令可对 Linux ext2 文件系统进行检查备份(
6、例如 dumpe2fs /etc 对/etc 目录作备份),dumpdate 则是存放 dump 指令的执行日期。(10) exports本文件为 NFS(Network File System)设定档, NFS 主要是运用在 UNIX 系统上,用来使 UNIX 系统能够 在几部计算机间做文件的分享。其功能 类似 windows 的网络磁盘驱动器,可以 mount 的方式,分享其它 linux 或 UNIX 主机的目录或文件。exports 文件内 则分别记载 着分享目录、分享对象及权限等项目。(11) fdprm本文件为软盘机参数表,含有各大小格式扇区磁道等资料。(12) fstab本文件包
7、含了开机时需加载的文件系统,每一行都表示一个文件系统,各字段分别有特定的装置或远程的文件系统、挂载点、加载的文件型态、挂载选项、dump 设定及fsck 设定。此文件可供 Linux 于开机时加载到系统上,并于关机时卸载。(13) ftp*以 ftp 开头的文件如 ftpaccess(主要设定档 )、ftpconversions(文件的相关压缩规定)、ftpgroups、ftphosts、ftpusers(分别为 ftp 群组、主机、使用者拒绝存取设定)等均为ftp server 相关的设定档。(14) group 本文件为群组的资料文件,可以使每个使用者均拥有自己的群组;一般而言新的使用者建
8、立后的的同时会产生相同于使用者名称的群组名称(RedHat Distribution)(Caldera Distribution 则会随 adduser 或 useradd 指令的不同而会纳入 users 群组或相同于使用者名称的群 组名称);在 GNOME 环境中可用 LinuxConf设定,在 KDE 环境中可用 User Manger 加以设定之。(15) host*在/etc 目录下以 host 开头的文件有 host.conf、hosts、hosts.allow、host.deny 等目 录,兹分述如下:host.conf本文件设定网络搜寻顺序系依 hosts 或 DNS 之先后顺序
9、定之;同时亦可一并设定是否将多重 IP 指定给一台主机与否。hosts本文件设定主机的 IP 及网域名称,利用此文件可加速特定主机的搜寻速度无须借助 DNS 之功能,早期未有 DNS 前即是依赖 hosts 档作名称查寻。hosts.allow本文件记载着允许那些主机联机到你的主机,在系统安全上为 Tcpwrapper 机制的存取控制文件。通常是维护主机安全或作测试用。hosts.deny本文件记载着拒绝那些主机联机到你的主机,在系统安全上为 Tcpwrapper 机制的存取控制文件。通常是维护主机安全或作测试用。一般而言,常与 hosts.allow 档原则上先 deny ALL 再 设定
10、allow,被 allow 同意的存取便不会再被 deny 否决。(16) httpd本目录下置放有 conf 目录、log 及 module 等文件其中尤以 conf 目录下的httpd.conf(主要设定档) 、access.conf(网页目录及资料来源路径文件)、srm.conf(设定 apache 的存取控制档),目前 Apache 1.3.9 以后版本已整合成 httpd.conf 加以设定即可;/etc/httpd 为 Apache Server 重要目录所在。(17) inetd.conf通常当系统激活时,有部份的 service 是并没有在开机时被激活的,以 节省系统资源。他们
11、是利用 inetd( internet daemon)-来监控网络服务的要求,再激活适当的daemon。inetd 是用来 监控各种 service 的 daemon,依不同的 port 提供不同的监控。/etc/inetd.conf 即为其设定档,并由 tcpd 来提供监控。例如将 telnet 加上#,系统便不提供 telnet 的服务。本文件最常与 Tcpwrapper 机制的存取控制文件 hosts.allow 及 hosts.deny 搭配负责网络安全的监控;举 ftp 为例,当 inetd 接收到使用 ftp 的请求时,便会激活tcpd,tcpd 先纪录这项 ftp 的请求,然后
12、检查 hosts.allow、host.deny 这二个存取设定控制档,如果同意存取,就会激活。另外, Tcpwapper 只能影响 inetd 激活,并且在 inetd.conf 里面经过编辑,由 tcpd 呼叫的服务,所以并不能为其它服务提供安全保障(如 sendmail、NFS 等) 。管理者可以看 log 文件知道系统是否有被别人侵入。(18) inittab一般 Linux 系统激活时,LILO 执行后加载 kernel,kernel 激活后呼 init program(/sbin/init)激活系统必备程序,init 为 parent process(呼叫后 fork 许多chil
13、d process),接着便检视/etc/inittab,视/etc/inittab 以 runlevel? 启动再执行/etc/rc.d/rc.?d/下所有 s 开头之 shell script,直到完成(ex.s10network ; s40cron)是以inittab 文件乃在 规范使用者要以那一种 runlevel 登入 Linux 系统,我 们亦可直接在系统提示符号下输入 init 或 telinit 后加上欲登入之第几层 runlevel,例如 init 3 或telinit 5,即可 进入该环 境模式。(19) isapnp.gone本文件包含 ISA 适配卡所使用的资源,可用来
14、设定硬件所需的内存、I/O Base、IRQ及 DMA。(20) issue(net)本文件是记载使用者在登入本机时所出现的一段文字讯息,例如Red Hat Linux release 6.2 (Zoot) + CLE V0.9P1 (Yami) Kernel 2.2.17-4CLE on an i586而 则 用于远程登入时之文字讯息显示之用。issue 文件可加以修改成你需要出现的内容, 但需同时将/etc/rc.d/rc.local 文件中echo “” /etc/issue 至 echo /etc/issue等几行加上批注起来,始能生效。(21) ldso.conf本文件存放了系统中共
15、享函式库(shared libraries)的路径;Linux 提供了两种形式函式库:shared 及 static,而 Unix 只提供 shared libraries。当程序被编译时,程序便会去连结该程序所需用到的函式库。有时候程序为了便于侦错,或是为了某些考量,我们不希望程序去使用共享函式库,而是把会用到的链接库全部连结进程序的执行文件,让程序本身拥有一份函式库中函式的副本,这种方式称为静态连结程序(static linked),而依赖共享函式库所建立的程序称动态连结程序(Dynamically Linked)。系统安装了 library 后,必须告诉程序 library 放置于何处,
16、使用共享函式库的好处是免除不同的程序里重复使用静态函数库(static libraries),与其在每个呼叫这些函式的程序里都储存一份 copy,不如把函式库集中在系统的文件里,让执行的程序都可以读到这个程序。当编辑完 ldso.conf 文件增加新的函式 库 或新安装某个套件之后(可能会安装某个新的共享函式库),后须下 ldconfig -v,使之生效。(22) lilo.conflilo 即 linux loader,本文件 lilo.conf 内容可以分 为两部分: Global 及 per-image,负责指定开机时所使用的 kernel 及开机时所要读取的 lilo 是放在哪一个装置
17、,另亦有设定多重开机功能,使多个操作系统并存;如果对本文件进行修改,须下 lilo v v v 的指令重改设定由于 lilo 并非为一 Daemon,仅为一内部程序,通常须重开机后设定始能生效。(23) mediaprm本文件用来定义磁盘驱动器位于 Linux 下的代号 ex. /dev/fd0、/dev/cdrom(24) modules.conf本文件为模块的主要设定文件,在 Red Hat 版本之名称命名为 conf.modules ,Modules 一般来说大部分为一些装置、网络、文件系统等的驱动程序,传统上,驱动程序是核心的一部份,因为几乎所有的核心都需要藉由成为核心码的一部份来取得
18、使用硬件的能力,至于模块化程序则是一种可加载之式驱动程序(Loadabledevice driver),在系统执行时是直接由加载内存或从内存卸载;而使用 module 的方式,可以不用重新建立 kernel,同时也可以节省时间及内存空间。(25) motd本文件为系统显示与 user 的提示讯息提示的时机则在 user login 并输入帐号及密码后出现之讯息,例如:Last login: Mon Dec 18 10:19:15 on tty1。(26) mtab本文件记载着已挂载(mount) 的文件系统 ,当你下 mount 指令时所显现之内容与mtab 内容常相一致。(27) ntp.c
19、onfNTP 全名为 Network Time Protocol(网 络对时协议),系 client 端针对 NTP Server作同步化对时所使用之协议,为达到 NTP 同步化获致正确而可信赖时间。ntp.conf则为主要设定文件提供模式的选择和使用的 servers 设定。(28) pam.dPAM(Pluggable Authentication Modules)即可插拔的认证模块;当 login 时,必需提供 username 和 password,然后系统根据所给予的 username 和 password 来验证可否 login,确认使用者身份,PAM 允许设置多种认证方式,不须再
20、重新编译核心要进行认证的程序。使用 PAM,可编辑配置文件动态的去读取配置模块,然后再去执行验证;pam.d 目录下则放置与 PAM 相关的文件。(29) passwd每一位使用者皆有使用者名称供以辨识身份,亦必须一并设定密码在/etc/passwd 文件中可以 root 身份来加入新的使用者,通常 user 输入 username 及密码,系统会先将输入之密码加密成 13 位码,再与 / etc / passwd 作一比对,无误与否。至于实际的密码则放在/etc/shadow 文件中。(30) protocols通讯协议号码是 IP 数据段表头中的一个字节,藉以显示出数据应该传给 IP 层以
21、上的何种协议;至于协议号码则规范在本文件中,protocols 内容是一个对照表,包含协议名称及协议号码和批注等栏项,利用协议号码与协议名称的对照便可知使用何种协议。(31) rc.d本目录下以 etc/rc.d/rc0.d /etc/rc.d/rc6.d 里的文件代表各种不同 runlevel 所激活的 daemon 尤为重要,K 代表 kill,S 代表 start。在渠等目录下的文件通常为一连结档 link 至/etc/rc.d/init.d 里的 daemon 以供激活。/etc/inittab 文件乃在规范使用者要以那一种 runlevel 登入 Linux 系统,至于本文件案则视以
22、 runlevel? 登入,代表激活 rc?.d 目录下依序激活各 连结档的 shell script(/etc/rc.d/init.d 里的 daemon)。(32) resolv.confBIND 的伺服端透过 daemon(/etc/rc.d/init.d/named)来执行;BIND 的客户端则透 过resolver,它是一个程序函式库组成,会发 出名称查询,而由/etc/resolv.conf 设定之(即将 nameserver 加入 该文件中) ,例如 echo “nameserver 172.17.0.10” /etc/resolv.conf 或者手动 vi 编辑之。(33) r
23、pcrpc 全名为 remote procedure call 即远程程序呼叫,通常系指 local 端程序对位于远程系统中的程序进行呼叫,及其完成任务并将该任务传回给 local 端;/etc/rpc 文件内存 rpc 程序号码 数据库,含有使用者可 识别之替代 rpc 程序号码的名称基本格式则含有 rpc 程序的 server 名称、rpc 程序号码、别名等记载栏项。(34) samba.d/smb.conf:Samba(Server Message Block protocol)使用来将 linux system 与 windows system透过网络上的芳邻作沟通整合之用,而/etc
24、/samba.d/smb.conf 则为 samba 的重要设定档,该档中主要分 global 与 share defini tions 二大项;/etc/samba.d/ smbpasswd则是 samba password 的设定档。(35) securety本文件定义了 root 可 login 的 terminal,一般而言预设为 tty1 至 tty8,root 只能从定义中的 terminal 登入。(36) sendmail.cf本文件为 mail server 的重要设定档,sendmial 是一种 MTA,目前在 unix 或 linux上使用相当广泛,由柏克莱大学大学生所写的程序,功能强大,但 sendmail.cf 内容由宏指令写成较为艰涩难懂,因此一般除伪装名称、主机的别名、收信的主机位置名称等少数项目由 sendmail.cf 文件直接于其中设定外,一般而言,均另用 m4 产 生sendmail.cf 的宏定义档,RedHat 版本名称 为/etc/sendmail.mc ,OpenLinux 版本则放在/usr/share/sendmail/cf/cf/gerneric-col2.2.mc;此外