/etc (etcetera) 这个目录包含着系统设置文件和其他的系统文件,它在Linux下极为重要,让我们看看 它的子目录装些什么: /etc/DIR_COLORS 设定在用 ls 时,各种不同档案型态所用的颜色,但是不能用pipe 再导向输出, 否则就没有各种颜色乐. 由档案的内容可以很轻易的了解,如 default 的 directory 是蓝色,具有可执行档权限的是绿色,而压缩档是红色...... 这些都可 依个人喜好来加以更改. 这个档案内容写得很清楚,想必大家一眼也就可以看得出来 ,在颜色的组成方面,我们常用 RGB 三原色的成份值来组合出各种不同的颜色. 由 R,G,B 这个bit 是 0 或是 1 三个值组合出颜色这个道理虽浅显,但假如我们更了解 R,G,B 的加权值分别是 1,2,4 的话,那就再也不用翻书查颜色乐...... 选择自 己的调色盘来取代预设的调色盘,是经常会做的事. /etc/HOSTNAME 设定用户的节点名.记录完整的hostname与domain name,这个档案在须要hostname 的场合会用得到,如 /etc/rc.d/rc.M 等...... 的场合会用得到,如 /etc/rc.d/rc.M 等...... /etc/NETWORKING 里面只有一行YES,表明网络是存在的,没有任何作用. /etc/X11 link 到 /var/X11/lib/X11 /etc/aliases 这个文件是给sendmail的使用设置别名. /etc/at.deny 在这个档案中可记载那些人不能使用at这个命令来做一些later job,假如at.deny 是空的,而且 at.allow 也不存在的话. 那就是每个人都可以用 at 这个命令. (at命令是让系统在特定的时间执行某个作业,会乐这个指令,可以在工作的执行上会 更有弹性) /etc/at.allow 相对於at.deny,这个档案记载那些人可以使用at.而关於at.deny与at.allow,at会 先去找at.allow,假如存在而且有记录一些人的话,那就只有这些人能使用at这个 指令,但假如at.allow并不存在的话,那at就会去找at.deny,没有在at.deny中的人 都可以使用at这个指令乐! 特别要说明的是,at的执行时间也许会不如你所预期的, 比如说明明一个档你叫它在 7:02 执行,但它却会等到 7:05 才执行,这是因为 crond 是每五分钟才去看看 at 的 queue 中是否有要执行的 job. 当然,你也可以改成每 分钟都去 check,但这样似乎没有很大的意义,除非你对时间的准确度要求的很严格 ,否则应该没有必要去动才是. 大家可去看看 /var/spool/cron/crontabs/root 中 就有详细记载,每五分钟 run 一次 atrun,所以 at 命令的执行可看成以每五分钟 为一单位. /var/spool/atjobs: 当你使用 at 来安排一件工作时,系统会把你目前的环境变 数及所要用 at 执行的工作抄一份到这个目录下的档案中. /var/spool/atspool:使用 at 命令之後所得到的一些讯息,会被记录在这里.可 能是 at 所要执行的命令传回的错误讯息,或传回执行成功的讯息. /etc/bootptab 这是用来设置无盘工作站的远端守护进程/user/net/in.bootpd的.用户不用设置. /etc/csh.cshrc /etc/csh.login 这两个档案应该很熟悉罗!它就是大家常见到的.cshrc及.login,不过大家通常只注 意到自己的home directory有这两个档,但/etc下也有这两个档,不过/etc下的这两 个档绝大部份的情况下都是由 system administrator 在 maintain(维护),一般user 不应该有权力去改. 顺便一提的是,系统会先去找 /etc 下这两个档,接着才加上自己 home directory中那两个档的设定.当然,有乐.login也有.logout,.logout中可以写 一些 message,或执行一些命令,当你下达 logout 之後,.logout 就会被执行. /etc/devinfo 用来给makedev这个程序设定各种不同的设备驱动文件的格式.用户不用设置. makedev是在/dev目录下创建设备文件的程序. /etc/diphosts 用来设置拨号服务器的用户名和密码. /etc/disktab(disk parameter table) 假如你在刚开机有 pass 磁碟机的一些参数给 kernel 的话(通常是你的硬碟比较 奇怪,需要 pass cylinders,heads,sectors 给 kernel 才抓的到,或者是 SCSI 的硬 碟有时有时也要用到一些参数 ) 那这些参数就会被记录在这里. /etc/exports 这个档案记录着你要给别人mount的档案系统,这就是典型NFS系统所存在的档案 ,TCP/IP for OS/2 若要使用 network file system 而要把自己的 filesystem 让 别人 mount 的话,这个档案也是不可或缺的. /etc/fastboot 这个档案是使用 shutdown -f 所产生的,-f means "fastboot".在重新 reboot 之後,系统会去检查这个档是否存在,以决定是否要 run fsck. /etc/fdprm(floppy disk parameter table) 设定格式化软盘的参数,一般情况下是不须要更动的,除非你有很奇怪格式的软碟, 或者你想做出不符合一 般格式的磁碟片. /etc/fstab(file system table) 记录开机要 mount 上来的 filesystem,这个档案相当重要! 大家可以在 /etc/rc.d/rc.S 中找到 /sbin/mount -avt nonfs 这一列,当执行到这一列时, mount 就依据 /etc/fstab 中的记载,自动的将档案系统mount上来.假如你一开机 就想自动mount一些 filesystems,而不要等到开机後再以手动 mount 的话那把这些 filesystems 及相关资讯写在这个档.在档案格式方面,每一列有六个栏位,不过後 面两个栏位常被省略所以我们只看到有四个栏位.其它的两栏分别为dump-freq及 pass-number.dump-freq 预设值为 0;而pass-number是 fsck 所会参考到的地方,数 字可为 0,1,2...... 1 表示这个 filesystem 将首先被 fsck check,2 表其次, 馀类推...... 如我们的服务器: # Device Mountpoint FStype Options Dump Pass# /dev/wd0s1b none swap sw 0 0 /dev/wd0s1a / ufs rw 1 1 /dev/wd0s1h /home ufs rw,async 2 2 /dev/wd0s1g /tmp ufs rw,async 2 2 /dev/wd0s1f /usr ufs rw,async 2 2 /dev/wd0s1e /var ufs rw,async 2 2 proc /proc procfs rw 0 0 procfs rw 0 0 /dev/wcd0c /cdrom cd9660 ro,noauto 0 0 /etc/ftpacces 设定ftp服务器的一些配置,包括匿名服务器的设置. /etc/ftpconversions 设定在ftp时使用的过滤器的位置.例如"get dirname.tar"就可以将ftp服务器上 的目录先tar再传回来,这个文件就是设定这些打包或压缩程序的目录和参数的. /etc/ftpusers 这个档案记录那些人不可以 ftp 签入系统,预设值有 root,uucp,news.这些都是 为乐security方面的考虑,你可以在这里加入不可 ftp 进来的 user id. /etc/gateways 顾名思义,这个档案记录一些 gateways 的 information. 这个档案的格式如下: <net|host> name1 gateway name2 metric value <passive|active|external> 当 routed 启动时,它会去读 /etc/gateways 这个档. 若一个 gateway并不做 routing information 交换的话,那它就会被标示成 passive,假如有做routing information 的交换 ( 这台机器上有 run routed ),那就会标示成 active net 或 host 这个关键字是指出 route 是到网路或是到一台特定的机器上. name1 就是 目地网路或目地机器的名字.这个名字可用 /etc/hosts 或是 /etc/networks 中的 hosts 或是 /etc/networks 中的 symbolic host name. name2 就是讯息将被送往之gateway的name或IP address. /etc/gettydefs getty_ps的定义文件. /etc/group 如同 /etc/passwd 列出乐系统中所有的使用者名字,/etc/group 定义系统中所 有的 group name 与相关讯息. 格式为: group_name:passwd:GID:user_list 如:wheel:*:0:root,hua,yzr,cyt 上面的例子表示root,hua,yzr,cyt都是属於wheel这个 group.通常 passwd 那栏是空 白的,表示不用密码.或放一个*号. 这个档案只能为 superuser 所读写,一个 superuser 可使用 groupadd, groupdel,groupmod 来管理 /etc/group 这个档,要手动管理也是可以.下面是这三 个指令的用法 : groupadd [ -g gid [ -o ] ] group_name groupdel group_name groupmod [ -g gid [ -o ] ] [ -n new_group_name ] group_name /etc/hostid 系统独有的一个硬件id,许多商业程序利用这个来做license的管理,在其他工作站 上这个参数是无法更改的,只有linux可以用hostid这个参数来更改. 上这个参数是无法更改的,只有linux可以用hostid这个参数来更改. /etc/hosts 这个档案记录着 IP address 至hostname的mapping.如我们想把 202.38.248.1 取个别名叫:bbs.那我们就可以在这个档案里写如下的叙述 : 202.38.248.1 bbs 如此一来,以後我们 telnet bbs 就等於 telnet 202.38.248.1.在这个档案中,至 少会有两列,一列为 loopback,这是为乐侦错目的而设的,另一列为 local host,就 是你自己的机器. /etc也是类似的.不过 这东西最好不要乱设,以信得过的hosts为主,才不会造成security上的困扰. /etc/host.deny 设定那些 remote hosts 不可以使用 inetd. /etc/host.allow 设定那些remote hosts可以使用inetd.如ALL:202.38.248.就是202.38.248.上 的所有机器都可以用乐. /etc/host.lpd 记录可 access printer 的 hosts.假如一台 printer可被网路上的许多台主机 所共用,那 printcap 这个档案必须得描述完整的网路设定资讯. 在比较严密控制 的情况下,有两个条件必须符合首先,local machine 必须在 remote machine 的 /etc/hosts.eqiuv 中,或者,在 remote machine 的 /etc/hosts.lpd 中被记载第 二,使用者必须有 remote machine 的帐号. /etc/inetd.conf 设定系统的网络守护进程inetd的配置,格式如下: service_name sock_type proto flags user server_path args 服务名称 包类型 协议 参数 用户 服务器路径 参数 例如: ftp stream tcp nowait root /usr/local/libexec/ftpd ftpd -a telnet stream tcp nowait root /usr/libexec/telnetd telnetd #shell stream tcp nowait root /usr/libexec/rshd rshd #login stream tcp nowait root /usr/libexec/rlogind rlogind #finger stream tcp nowait nobody /usr/libexec/fingerd fingerd -s #exec stream tcp nowait root /usr/libexec/rexecd rexecd #uucpd stream tcp nowait root /usr/libexec/uucpd uucpd #nntp stream tcp nowait usenet /usr/libexec/nntpd nntpd #comsat dgram udp wait root /usr/libexec/comsat comsat #ntalk dgram udp wait root /usr/libexec/ntalkd ntalkd #tftp dgram udp wait nobody /usr/libexec/tftpd tftpd /tftpboot #bootps dgram udp wait root /usr/libexec/bootpd bootpd /etc/inetd.pid(inetd process id) inetd这个进程的进程id. /etc/inittab 设定系统启动时init进程将把系统设置成什么样的runlevel,用户不需要设置. /etc/issue 这个档案被记录着 login prompt 前所要 echo 的 message,特别要注意的是 /etc/rc.d/rc.S下面的四行若没有mark,则每次开机 issue 及 motd 都会被重建. /etc/ld.so.cache 查找系统动态链接共享库的缓存,如果损坏用ldconfig可以重新产生. /etc/ld.so.conf 系统动态链接共享库的路径,记录一些 library 所在的目录,应用程序从这个文件 去查找相应的lib文件.例如: /usr/local/lib /usr/X11R6/lib /usr/i486-linuxaout/lib /usr/openwin/lib /etc/lilo.conf /etc/lilo.conf 配置多重启动程序lilo的配置文件,每次更改之后一定要重新运行lilo才有效. /etc/login.defs 这是所有用户登陆时的缺省配置文件,这个文件中有大量的定义,许多原先在profi le 和login文件中的定义都挪到这里乐.如用户缺省路径,登陆时间限制,最多错误登陆 次 数等.是系统管理员应该经常修改的地方. /etc/magic 这个档案记载乐许多档案格式的识别字串或方法.那这个档在那里会用的到呢?用 在 file 这个指令上.file 这个指令的命令格式为: file [ -c ] [ -z ] [ -L ] [ -f namefile ] [ -m magicfile ] file file 这个指令可以告诉你某一个档案的格式,如它是一个 text 档,或是一个 shell script 或 DOS 可执行档等...... 而 file这个指令,就是去参考/etc/magic 这个资料库.假如你知道某一档案的识别字,而原来 magic 这个资料库没有记录,那 你可以把识别方法加到资料库中,或乾脆建立自己的资料库算乐. /etc/mail.rc;/etc/mailcap;/etc/sendmail.cf;/etc/sendmail.st 这几个文件都是为了设置sendmail的. /etc/makedev.cfg 同devinfo一样是给makedev使用的设置文件.用户不必设置. /etc/motd(message of the day) 在这个档里面可以写一些 message ,而这些 message 会在 login shell 之前被 显 示出来.通常都是 system administrator 要告知 user 的一些讯息. 而关於每次都 会改变的问题,在前面/etc/issue时已提出过,记得 mark 起来就是乐. /etc/mtab 记录目前mount的filesystem.大家可以用mount指令来看这个档的变化的.每mount 一个filesystem,在这个文件就可以立刻反映出来乐.也就是说,这个文件是动态更新 的,可以参见/proc/mounts这个文件. /etc/mtools 这里面记录的是给 /usr/bin/mtools 参考用的 parameter.mtools就是一群操作 MSDOS档案的命令集合,可用的命令如下: mattrib - change MSDOS file attribute flags mcd - change MSDOS directory mcopy - copy MSDOS files to/from Unix mdel - delete an MSDOS file mdir - display an MSDOS directory mformat - add an MSDOS filesystem to a low-level formatted diskette mlabel - make an MSDOS volume label mmd - make an MSDOS subdirectory mrd - remove an MSDOS subdirectory mread - low level read (copy) an MSDOS file to Unix mren - rename an existing MSDOS file mtype - display contents of an MSDOS file mwrite - low level write (copy) a Unix file to MSDOS 这些都被 link 到 mtools. /etc/named.boot 假如你要建立 name server 的话,那这个档就是你要修改的地方详细的情况可以 去看 named 的 manual. /etc/named.pid(named process id) 本机上运行DNS的进程id. /etc/networks 这个档与 hosts 有点像,都是在 boot 的时候会用到的东西,在这里可以定义一 个子网路与其 IP address 的资讯. /etc/NNTP_INEWS_DOMAIN 设置新闻服务器的配置文件. /etc/nntpserver /etc/nntpserver 设置用户使用的新闻服务器的地址. 这个档案记录着 news server,当我们使用 tin -r (read news remotely) 时, 这个档案会被参考到,或者若这个档案不存在的话,那环境变数 NNTPSERVER 所指定 的 server 就会被当成要去取得 news 的 server. 譬如说,你要将 202.38.248.1 当成 news server,那 /etc/nntpserver 中就可写: 202.38.248.1 /etc/nologin 你也许会感到奇怪,我的 /etc 这个 directory 下并没有这个档啊?没错,它平常 是 不存在的,通常会看到这个档的话,那表示系统大概要 shutdown 乐,因为系统要 shutdown 乐,自然不希望有人又login 进来,所以在我们执行 shutdown时,nologin 这个档会自动的被 create,里面放着 shutdown message.实际上,当我们在login 时 , 系统会去检查有没有这个档,假如有的话,那就会印出这个档案中的 message,然後不 让你 login.nologin 也有可能是为乐某种理由被制造的,比如说系统在 maintain 暂时不希望有人 login.无论如何 nologin 若存在,就不能 login. /etc/organization 存放用户的名字和组织,没什么用. /etc/passwd 呵呵,这个档案可重要乐.一个 system administrator 最初要学的常常就是这个 档案的内容! 这个档案记录着系统可以认得的user,也包括一些非人的 login name, 但这是有特殊用途的. 档案内容每列的格式如下: Login Name:Encrypted Password:UID:GID:GCOS:Home Directory:Login Shell (1)login name 在 login name 方面,每个 login name 必须是唯一的,而且不能超过 8 个字符, 一般说来,login name 虽然可以大小写混合,但平常的情况下都用小写. (2)Encrypted Password 这栏是编码过的密码,在新增一个 new user 时,应该在这栏填上*,更改 password 可用 passwd 这个指令. passwd 这是一个 setuid 的指令. (3)UID(user id) 每个"人"都要不一样,习惯上,100 以前被保留做为特殊的 user id,而root总是0 . (4)GID(group id) 在比较早期的系统,一个user同时只能在一个group,不过现在就没有这种限制乐. (5)GCOS 这栏基本上没有特殊格式限制,在这里可以写上你的 full name家中电话,住址等 . 爱写什么就写什么. finger 这个指令会去读这地方的资讯.用chfn 可改变这栏. (6)Home Directory 这栏没什么,就是记录 user 的 home directory 而已,利用 cd 或 cd~ 都可回 到 home directory. (7)Login Shell 设定使用者所使用的 shell,预设值是 /bin/bash.当然,你也可以自己改成 csh 或 tcsh,zsh 也是不错,假如有 free 版的 korn Shell 也可拿来用用.用 chsh可 改 变你的 login shell. 赡美从糜?用 chsh可改 变你的 login shell. 变你的 login shell. 为乐 security 方面的考虑,可以安装 shadow,将 passwd 这个档完全的与一般 user 隔绝开来,连读也没有办法读 passwd 这个档. /etc/pnpdevices 列出乐支持的plug&play设备. /etc/profile profile 这个档是 bash 这个 shell 所用的,profile 之于bash就好像 cshrc 之 于 csh. 同样的,/etc 下的 profile 也是 SA 在维护的,主要是放着全域的设定(Globa l Setting)而每个 user 在自己的 Home Directory 都可以有各人的.profile. /etc/protocols 假如你为乐某些目地,而写乐自己的 protocol,那你就必须把它列在这个档案中, 这 样 inetd 才会管理一些 daemons 去用它这个档案每列的格式如下,# 之後的是注解 : Protolcol Name Portocol Number Aliases 协议名 代码 别名 ip 0 IP # internet protocol,pseudo protocol number icmp 1 ICMP # internet control message protocol igmp 2 IGMP # internet group multicast protocol ggp 3 GGP # gateway-gateway protocol tcp 6 TCP # transmission control protocol pup 12 PUP # PARC universal packet protocol udp 17 UDP # user datagram protocol idp 22 IDP # WhatsThis? raw 255 RAW # RAW IP interface /etc/psdatabase 这个档案是被 psupdate 所用到,psupdate 主要的功能就是更新 /etc/psdatabase 这个档,以符合目前的 kernel image system map file.一般的预 设 档是 /usr/src/linux/tools/zSystem. /etc/resolv.conf 这里面记载着你机器的 domain name 及 name server 的 IP address,name server 可以自己加入.name server 可不要随便就去掉,否则,就会地址没有办法被解译,故 会 有 Host name lookup failure 的信息. /etc/securetty 假如你要以 root login 的话,实际上是有限制的,这个档案就列出乐 root 可以 login 的 ttys,假如你把每一列都 mark 起来那就没有任何一个 terminal 可供roo t login 乐,就会出现以下的情况 : login: root root login refused on this terminal. 仔细的在这个档案列出可用的 terminal,可使从 modem 连的使用者或经由网络来的 其它的使用者比较不容易取得 superuser 的权力. 其它的使用者比较不容易取得 superuser 的权力. /etc/services 设定系统的端口与协议类型和提供的服务. /etc/shadow 这个文件对一般用户是不可读的,加密后的密码就放在这个文件中. /etc/shells 这个档案里面就记录着可以用的 login shell.还有一点,那就是这个档的记录会 在 使用 chsh 时做为参考,唯有被列在这里的 shell,使用 chsh 时才会出现这些 shell 可选.实际上如果强行直接修改passwd文件,也可以使用不在列表中的shell程序,但 会 造成在ftp的时候,无法登陆. /etc/slip.hosts;/etc/slip.login 这两个文件是设定SLIP的配置文件. /etc/snooptab 如果系统管理员用ttysnoops替换乐login这个程序,就可以用snooptty这个程序来 监控用户的屏幕,这个文件就是能监听的终端列表. /etc/sudoers 在一个不是很复杂的系统中,也许一个 System Administrator 就可以管理所有的 事情.但一但系统提供的服务变多,系统管理的工作也随之变得沉重,这时候,sudo 就 派上用场乐,sudo 可以让一个普通的 user 变成 superuser,这样一来,一个系统的 某 些工作,就可以分配给这些 superusers 来做.以减轻负担. 当然,并不是每个 user 都可以变成 superuser.所以/etc/sudoers 就是记录着那 些人可以用 superuser 的身份来执行一些工作. 这个档案有一个专属的 editor 叫 visudo 可来编辑 /etc/sudoer.而关於使用 sudo.bin有一个记录档,在 /var/adm/sudo.log,里面记录着谁在什么时候利用sudo 下乐那些指令.顺便一提的是:利用下面这个命令可抓出那些人转换成 superuser 但 却没有成功:grep "FAILED SU" /var/adm/messages /etc/syslog.conf 系统记录程序syslogd的配置文件,格式如下: *.=info;*.=notice /usr/adm/messages *.=debug /usr/adm/debug *.=warn /usr/adm/syslog 即所有的info和notice信息都存在/usr/adm/messages下,debug信息在/usr/adm/deb ug 下,警告信息在/usr/adm/syslog下. /etc/ttys 设定系统的终端类型. /etc/utmp 是用 last 这个指令所得到的部份内容: bbs tty1 Tue Nov 29 19:09 - 19:09 (00:00) root tty1 Tue Nov 29 19:08 - 19:09 (00:00) root tty1 Tue Nov 29 19:07 - 19:07 (00:00) runlevel ~ Tue Nov 29 19:07 reboot ~ Tue Nov 29 19:07 /etc/XF86Config X Window的配置文件. /etc/yp.conf NIS的配置文件. /etc/zprofile link 到 /etc/profile
etc文件结构
最新推荐文章于 2024-11-18 20:22:45 发布