查看文章 |
附录 A /etc 目录下的档案介绍 /etc 是 FreeBSD 系统主要设定文件所在,了解这个目录下的档案及其格式,对于我们管理及使用 FreeBSD 将有更深入的认识。因此,以下我们就分别说明一下这些档案。 一个个读这些设定档的说明也许有点枯燥,因此,我们将这个章节放在附录中,您可以在有需要时再来参考即可。 A.1 aliases:设定邮件收件者别名 /etc/aliases 是用以告知 sendmail 要将信转给哪个使用者或是交由哪个程序处理。请注意,修改完这个档案后,必须使用指令 newaliases 来让所做的修改在 sendmail 中发生作用。这个档案是用来设定邮件的别名,也就是可以设定要将某人的信件转给其它地方(人员或程序)。你也可以将某人的信转给很多人,这个档案的位置是由 sendmail.cf 档案中的 AliasFile 这个选项所决定的。当 sendmail 收到信时,会一行一行比对,当第一行符合后,就不会再继续下去,所以应注意优先级。 本档案的语法开头的 "#" 代表该行是批注,大小写都视为一样。以下为几个设定的范例:
当设定了一堆复杂的别名之后,我们要看最后信会寄到哪里时,可以使用下面指令来看寄给 username 的信最后寄给谁: # sendmail -bv username aliases 档中将很多东西都转向 root,因此你可以去读 root 的信箱或是将 root 的信转给别的地方,下面这一行是将 root 的信都转给 my@my.domain:
当邮件无法送出被退回时给使用者时,都是以 MAILER-DEAMON 为账号寄出。因为使用者可能会回复那封被退回的信,所以这个别名是必备的。而 postmaster 则负责处理所有关于邮件问题的信件,因此也是必备的,一定要保留下面二行,这是必要的系统基本设定:
在修改完 /etc/aliases 之后,我们必须执行下列指令来更新数据: # newaliases A.2 crontab:设定定时执行工作 在 UNIX 系统中,有一个背景程序会定时执行一些工作,系统管理者可以修改这个档案以设定定期执行的工作。/etc/crontab 可以让管理者设定要以什么使用者的身份去执行定时工作,而一般使用者如果要设定定时执行工作时,可以使用指令 crontab -e 来编辑自己的定时执行工作。 以下为 /etc/crontab 的内容说明:
小时的字段中如果是 *,表示每小时,天的字段中如果是 *,表示每天,依此类推。字段中也可以使用 "-" 来表示范围。例如,在小时的字段中填 8-11,表示执行的时间是 8,9,10,11,共四次。 字段中也可以用逗点来表示,以分的字段而言, 1,2,5,9 表示将在 1,2,5,9 分时各执行一次。我们也可以写成像这样 1-2,12-14 ,表示在 1,2,12,13,14 分各执行一次。 另外,也可以用 / 后面加数字表示每几分钟要执行一次。如在分的字段填 0-23/2,表示 1-22 分之间,每隔二分钟执行一次,也就是 0,2,4,6,8,10,12,14,16,18,20,22。如果在分的字段是 */5,表示每五分钟一次。 除此之外,也可以用一个开头为 @ 的字符串来表示各种意义:
另外,我们还可以在档案中以「key = value」的方式设定在执行指令时的环境变量。例如,一般指令有输出执行结果时,会自动寄给 root,我们也可以设定「MAILTO = ""」表示不要将输出结果寄出。以下为几个时间设定的范例:
一般使用者的 crontab 会放在 /var/cron/tabs 目录中,所以如果要备份或升级时,应该要注意这些档案是否要备份。
A.3 csh.cshrc:Tcsh 使用者登入后的 shell 环境设定 这是给 Shell csh、tcsh 用的内定 .cshrc 档案,也就是进入该 Shell 时会加载的设定。所有使用 csh 及 tcsh 的使用者登入后,系统都会自动加载这个档案中的设定,若使用者自己的家目录中的 .cshrc 和 csh.cshrc 有相同的设定,则会以使用者家目录中的 .cshrc 为主。
这个档案除了使用者登入时会加载外,如果使用者以 tcsh 或 csh 写 shell scripts,在执行时也会加载这个档案中的设定。 A.4 csh.login:Tcsh 使用者登入后的 shell 环境设定 这是给 csh、tcsh 用的内定 .login 档案,使用者登入 shell 时会自动加载本档中的设定。和 csh.cshrc 不同的时,这个档案只有在使用者登入时才会加载,而执行 shell scripts 时不会使用这个档。如果使用者家目录中的 .login 设定和 csh.login 相冲突时,将以使用者家目录中的 .login 设定为主。
A.5 csh.logout:Tcsh 使用者注销时会执行的设定 这是给 Shell csh、tcsh 用的内定 .login 档案,也就是离开该 Shell 时会执行这个档案中的指令。在离开 Shell 时,Shell 会载入 /etc/csh.logout 及 ~/.logout 的设定。请 man csh。 A.6 defaults/periodic.conf:预设定时执行项目设定 这个档定义了 /etc/periodic 目录下哪些程序要定期执行。我们可以新增并编辑 /etc/periodic.conf 或 /etc/periodic.conf.local 来覆盖这个档案的设定。您可以 man periodic.conf 来得到更多的信息。 A.7 defaults/rc.conf:预设的系统设定文件 系统开机时会读取这个设定档以决定应该执行哪些工作,例如网络设定、该执行哪些系统服务等。 /etc/defaults 目录下的 rc.conf 中所有设定都是默认值,如果我们要修改,请新增 /etc/rc.conf 来加入你的设定,这样在日后升级时我们的设定才不会覆盖。如果 /etc/defaults/rc.conf 中的设定和 /etc/rc.conf 重复时,会以 /etc/rc.conf 为主。另外,当我们执行 sysinstall 后所做的设定,也会被写入 /etc/rc.conf 中。建议您可以读一下 rc.conf 看看我们有哪些可以设定的项目。 rc.conf 有很多设定,例如网络卡 IP、hostname、firewall、要启动什么系统服务等,几乎所有的系统设定都放在这个档案中。FreeBSD 在开机时,会读取 /etc/rc.conf 以决定要不要启动某些服务,而当我们从 ports 中安装程序时,通常安装完后,我们也要设定这个文件才能让该程序在开机时执行。例如,安装完 SNMP 时,我们要在 /etc/rc.conf 中加入「snmpd_enable="YES"」,这样一来 SNMP 才会在开机时启动。 A.8 fbtab:设定使用者登入时对系统装置的存取权限 fbtab 用来设定使用者登入对于系统装置的存取权限。大多数的人都是使用虚拟的终端机,我们登入系统时所使用的 tty 是虚拟的终端机 ttyv0、ttyv1 等,FreeBSD 将这些系统装置视为档案,放在 /dev/ 中。例如,console 就是 /dev/console 这个档,但该档的拥有者是 root,而有的应用程序用要求使用 /dev/console 的存取权限,fbtab 这个档案是用来定义当你从虚拟的终端机登入时,能自动取得某个装置的权限。详细说明请 man fbtab。 A.9 fstab:档案系统的加载设定 这个档案用来定义开机时要挂入的档案分割区及各分割区的参数设定,例如,要挂入哪一个目录中、挂入时的参数、备份时是否要备份等。
A.10 ftpusers:设定哪些使用者不可以使用 FTP 登入 这个档案用来定义哪些使用者不可以使用 FTP 登入,只要将使用者登入的账号加入这个档案中,该使用者就不能使用 FTP 登入系统了。例如,我们要让使用者 tom 无法使用 FTP 来登入系统,只要在 fupusers 档案开头加入该使用者名称。ftpusers 中也可以加入群组名称,如果您不希望某个群组的使用者使用 FTP 登入,只要在该档案中加入 @groupname 即可。开头为 "@" 表示该行的设定为群组名称。
A.11 ftpchroot:设定哪些使用者登入后要限制根目录 FreeBSD 内附的 FTP daemon 还有一个重要的功能,就是可以让使用者登入后,只看得到自己的家目录。如果在 ftpchroot 这个档案中有该使用者名称或以 "@" 为开头的群组名称,使用者登入后,根目录就会是自己的家目录,而无法切换目录到非家目录的其它系统目录中。我们也可以设定将某个使用者或群组设定登入后只能在某一个固定的目录中,详细设定请参考「FTP 服务器」一章的说明。 A.12 gettytab:终端机模式设定文件 这个档案是终端机模式设定文件。在启动终端机时 (例如,使用者登入系统时),系统会读取这个档案中关于终端机的设定值。例如,我们可以修改这个档案以设定使用者登入前的提示讯息。以下为该档案 default 的部份:
A.13 group:使用者群组设定档 这个档案记录了系统中的使用者群组设定。详细说明请参考「使用者管理」一章。我们要注意的是每一个群组的编号 (gid) 不可以重复。另外,在 FreeBSD 中,如果使用者要具有 su 成 root 的权限,必须将该使用者加入 wheel 群组中。例如,我们要让使用者 alex 可以 su 成 root 的权限,则在 group 档中 wheel 群组后面加上 alex:
A.14 host.conf:设定 DNS 查询顺序 这个档案用来设定 DNS 查询的顺序。预设的查询顺序是先查询 hosts 这个档,再由 bind 向 DNS Server 查询。如果有 NIS 的话,还要再加入 nis 那一行。
A.15 hosts:定义常用的机器名称对映 我们可以将常用的机器名称及 IP 对映写在这个档案中,以节省向 DNS Server 查询的时间。如果你的主机有多个 domain name,将你最喜欢的放在最前面,这样寄信时才会出现该 domain name。 在设定时,档案中最少要有 localhost 和自己的 domain name。hosts 的格式如下: IP 地址 正式的主机名称 别名 别名的用意在于,使用时可以用比较简单的名称来联机到该机器。例如,我们设定了 bbs.ba.mgt.ncu.edu.tw 的别名为 bbs,则在使用 telnet、ssh、ping 等指令时,我们只要输入 bbs 做为主机名称即可,不必输入其 IP 或是一长串的正式主机名称。以下为设定范例:
A.16 hosts.allow:设定允许或拒绝联机的主机 设定允许或拒绝使用本机服务、联机的主机来源。例如你可以在这里加入拒绝某台计算机使用 telnet、ssh、ftp 等联机到你的机器。在「系统安全」一章详细的说明了如何使用这个档案来让我们的主机更安全 A.17 hosts.equiv:设定远程信任主机及使用者 设定远程信任主机及使用者,这个档案主要是给一些 "r" 系列的服务用,例如 rcp、rlogin、rsh 等。详细说明请 man hosts.equiv。 A.18 hosts.lpd:设定可以使用本地列表机的主机 我们可以将 FreeBSD 设定成 LPR 网络列表机,而这个档案是用来设定可以使用本地列表机的主机,只要加入主机名称或 IP 即可。 A.19 inetd.conf:各项 inetd 服务设定档 inetd 是 UNIX 系统中用来掌管许多服务的重要 daemon,我们可以修改这个档来设定 inetd 所要提供的服务。它的格式如下:
第一个字段是服务的名称,要和 /etc/services 搭配设定。如果要开放某一项服务,只要将开头的 # 符号移除即可。我们一般可以在这个档案中设定的常用服务有 telnet、ftp、pop3等。当修改这个档后,必须重跑 inetd 才会生效。 # kill -1 `cat /var/run/inetd.pid` A.20 localtime:记录所在时区设定 这个文件记载你所在的时区数据,你可以经由 sysinstall 来设定时区。该程序会自动将 /usr/share/zoneinfo 中合适的档案复制一份成为 /etc/localtime。 A.21 locate.rc:快速搜寻档案的名称数据库设定 FreeBSD 会自动依这档案的内容来建立硬盘中文件名称数据库,以利我们快速搜寻文件名称。详细的说明请 man updatedb、man locate。 >>回到总目录
|


