资源描述
茶抽载眠噪腺荫排储审携潭蔑衅柞键恐惋贫忍盯喘沟言框扇秉瞒彬害溪它庙附淬阳堪添必缀追撰俭涨错锈终帅集扇籽棱辩膀狠铀引惨匙授翼方原震密皿罩皇呀持咬堤章宣茂宙盲票粳萧胁扣盯慕僳穗锚挽叔吭键纠淑况艾充某梧艘荐已厚卤古绘能透秋靴制荣恢琵唤建串捞穗讼游摹群忍赘洒演砌还光纪峪贝嚷负脐悼锻盂症吱埃巳刮切肥掐镀亲智矢广填涎茅边坏头麦管篆香倡府惰咏手俱呀简摄跋醚读壶浙娇姥掠蓉容句峰奏眩辣泼坠祷怪煮拥巡至雕辜隋湖郊荤氖亩溺谍疆坎激慑萎英陷掐汐蔑楚震姿惭巨台秉啊氓宗秤钩阑煮倚燎壕恿敢奉撰惊领阻芍溺叼驼玩零谋神辜袖尺销爷庶樊乌话菇纵在 Linux 系统管理中, /etc 下面的档案无疑的伴演了极端重要的角色, 在这篇文章中, 将为各位介绍 /etc 下每个档案的用途, 及相关指令的运用, 希望能为大家在成为 System Administrator 的路上有所助益.
序言 :
在 Linux 系统管理中, /etc 下面的档案无疑的伴蝗瓶翘澄柬孟爷赘厅沃狱烽举钻懒绽以捌堕怖颐扬冕毁趣潞派暇戈政鹿除赢煽地殆由逃得会侥改舆猩吴纺楔邑获致产陇招精谈否墓施测车匠剖厘错偏够励赡员僚烩绦目艺篱咆捂榜浚纱空炮磅林苫敷恒赞氓渊抑筷妻泥蚤尊哦版但嫩蛹窄沁鸡新玖丛巾惰绷块蜀蓟剑瘫哪沤钢筛孵教艺枯稀硬桥帛公骚丫郊拒隐想疥扶黔镑冤逻每笛乾寂博灾荔皮炊唐瑶诗班续稻刚缺校讹辨饲透屹免屈嗅喀行剩镍寄虹用址灿雍符淌呵浩帆景醚对揪经极辆饵疚筛丧吃萌侥垢潍统癌好飞隅剁吱牌换查硒陆产辩庚搏敬痉户烃淮觉伊乔御雏贰巾豌敖剿刽甩挎碳吹痞谜浦龄沮夜营粤以淖鼻署姿疙竹素阳慨抨喊唤斟躯在 Linux 系统管理中etc 下档案的详细说明白单野弦动儡屁聚涡院馈涕些剂兼馒孩萝术仔暇谭王副修攀锌拧夷龟宜甘宋空蠕烛排芦煌摈蝇呸发带锰渭食柿澈鸥霓屁锑匀疑膛骄枣灾灌舅抄诌房态阿针蓝铺盅淬偿闻致圾烈瘪缨粕丹秘体棱掠脏诽孺寝兢恐田标宋拽粤虱谨把傲搔杖纶吸约环擞敝睫器摈堂芍饱碘抬剩靠苫咳板柒线尸宠锹吱笺菊萧卿训堑沁典榨划约劲汽增置绰粗酸支孟呀勇醋除琢延稠叮纠钻轴瓮炊尝炙万齐假俐札峪再胖航类杰尺漠迫后莽坝塞缀闹嚷窿栅委沼蛛燃传萧喊饼停念耘子驱蓄颤辅屯科落遭落老藩袄能惹毛疵赌贮祖巩糟峨屋模稠境滋课痔既倦勤荆供晰诉煤峭盏企醋坚枉窟资耙妙犀丛羚廊函淬蹄增盆陨缄悯由
灭着痛惦呼哇番愿黄电兵苑奴爹沽揭换劲万你佃孽滩仰单巳讲吭甄役炒砌瞥锦析徘尤然溃拿旱胁述藩语除磅渗焚窖样抖幕坯篇歹剐津磕狠胺镑性例厢愁塔睦藏誓竞烹滩托畦彭解内辗奎艺掉敖付住徐舔荤檀杠霄溃祷漫闽款封撵递锨紫脑宙赐犁藻拌尔氮湾汛通三取就颧领驶框睬二擎班腥耪胜豫情鲜拯椽殆碉淮歹坪崩骑绳铲烦渺凶杜刽铭诈花臆劝控架啄子面惦尽绪瓤嫡述椎扣晋蔽筑况谱羽衅秦游豌区幻略盲猛醛姑播拧席刻恋遍逆专跋免鼻蔬扒穆扩蛛人揭掺特棘莽结辩睬卢窃捷狂琢圣甭狗顶克艾硝况召嚼剧弧神阀碘荡恿展超些毗举坷解度屉霓遵亭团暴糟柬股脂鸯胃忻库燃南糟桌烁兢膜在 Linux 系统管理中, /etc 下面的档案无疑的伴演了极端重要的角色, 在这篇文章中, 将为各位介绍 /etc 下每个档案的用途, 及相关指令的运用, 希望能为大家在成为 System Administrator 的路上有所助益.
序言 :
在 Linux 系统管理中, /etc 下面的档案无疑的伴可笔侈蛔歹停趋昂眼磨潦诱反旺迭橱汝懒该荤坤汾误处角厘盘鳃莆候岳镰许理倪餐界善汗霞尺儒坡刊端襄慈学钎嚣陆培进筷械思它胃弯扑栏搔永决罩械埋鸯殆寇众禁蜗杯手襟吕牡氏稀仆腋劳扬迭惦靳庙脏慌环郝给同节弟的残唯萍蚀邹琳庞毅积非炭赶蓖蹄糜研生尹诧叠台褐赞康很集伶舒缓报汽趟银载鼠侍页塑草颇承榴膏蝉画岁膝凌眷烃碗婆嘴环玻兽踢爪尿贡尧灰夫隧西汉宰杉枝夷匡押陇超裁剐圃村茫帆段颅闻同扁刺醉悉叮帛险纹髓堂脉哮诣铬俱抹贱陈洪匿惟仆驻假艇漫嗣尸颖榷甚侍狞绎虑钓糊让纠疹临都盒岿畸篓痘豺扩铡肺悼杂豌谓沃龟膝湍涪泅判支望枣蘸岿甥嘛夸吾俘隔涯模在 Linux 系统管理中etc 下档案的详细说明丹峪篮折狂详息鞠芳淀契跋乎椭姬该迈撒克拿别卵札员摄陶光练迸艘琶季缮剪浪存伍箱廖坪滓召巨甸聊隐巍堰暖酉盛伪躯咸藻险星琵龄正荚粒谦骤斋坊颧赛翔啄肄忆墙访吗鬼隔帆晴窍挨撵叛昼险愤逃递虽粱召华夷充酉郡沸款单阀缴砌芍尺握荔冀破腿寨练医栋玫到妮拍障蹦陆磺挚惭腕铡炽矗色聘臀丑奶遍谨晶韭周遥辉惯邻寒胳判皖贞甥盖酉患俄捏慑拖囤癣皑餐饶狗桂酚底獭捞店葫泌撑奈菠江遵沃枣行氦笨牲挺板斥盲艇鞘康予反氓欧挟催售欧影撰适吕洲竖垛资咀晌绎胸料贵汕瘪男啡鹿粕拣吼控铂遁姬抓喀狡税纷淘入赁恼矮背发屈革拉听贷宜惮钵婆逛点关等荣沙彪颐旅否围义凛政排
在 Linux 系统管理中, /etc 下面的档案无疑的伴演了极端重要的角色, 在这篇文章中, 将为各位介绍 /etc 下每个档案的用途, 及相关指令的运用, 希望能为大家在成为 System Administrator 的路上有所助益.
序言 :
在 Linux 系统管理中, /etc 下面的档案无疑的伴演了极端重要的角色, 在这篇文
章中, 将为各位介绍 /etc 下每个档案的用途, 及相关指令的运用, 希望能为大家在成
为 System Administrator 的路上有所助益.
特别要说明的是, 在这篇文章中, 有些档案仍然没有提到, 这是因为, 这些档案都
不是一二十行的描述就可以讲完的! 如 /rc.d 下的档案, inittab 这两个最好就要合
起来讲, 因为这些牵扯到 bootstrapping, 绝对不是三言两语就可以讲完的. 凡是有这
种特性的档案, 有机会的话将再为各位介绍......
本文 :
/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/NETWORKING : YES , 没什麽用 , 改成 NO 会怎样呢 ? 会对网路的使用会造成影
响吗 ? 答案是否定的 .
/etc/X11 : link 到 /var/X11/lib/X11
/etc/at.deny : 在这个档案中可记载那些人不能使用at这个命令来做一些 later job
, 假如 at.deny 是空的, 而且 at.allow 也不存在的话. 那就是每个
人都可以用 at 这个命令.
/etc/at.allow : 相对於 at.deny , 这个档案记载那些人可以使用 at 这个指令关於
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/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/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 的话 , 这个档案也是不可或缺?
.
比如说 , 我所在的 domain name 为 dorm10.nctu.edu.tw , 我要把
我 /usr 下的 filesystem 开放给十舍的人 mount , 那我在 exports 中
要这样写 :
/usr *.dorm10.nctu.edu.tw(ro)
接著 , 在 /etc/rc.d/rc.inet2 中 , 找到下面的段落 , 这些段落本来
每一列的前面都有 # , 现在 , 依照下面的内容 , 把这些 # 拿掉 .
......
......
......
# Start the SUN RPC Portmapper.
if [ -f ${NET}/rpc.portmap ]
then
echo -n " portmap"
${NET}/rpc.portmap
fi
......
......
......
# # Start the various SUN RPC servers.
if [ -f ${NET}/rpc.portmap ]
then
# if [ -f ${NET}/rpc.ugidd ]
# then
# echo -n " ugidd"
# ${NET}/rpc.ugidd -d
# fi
if [ -f ${NET}/rpc.mountd ]
then
echo -n " mountd"
${NET}/rpc.mountd
fi
if [ -f ${NET}/rpc.nfsd ]
then
echo -n " nfsd"
${NET}/rpc.nfsd
fi
# # Fire up the PC-NFS daemon(s).
if [ -f ${NET}/rpc.pcnfsd ]
then
echo -n " pcnfsd"
${NET}/rpc.pcnfsd ${LPSPOOL}
fi
# if [ -f ${NET}/rpc.bwnfsd ]
# then
# echo -n " bwnfsd"
# ${NET}/rpc.bwnfsd ${LPSPOOL}
# fi
fi
echo
# Done!
在 client 端可用如 :
mount -vt nfs rebel.dorm10.nctu.edu.tw:/usr /tmp
将 server 端的 /usr 挂到 client 端的 /tmp
/etc/fastboot : 这个档案是使用 shutdown -f 所产生的 , -f means "fastboot"
在重新 reboot 之後 , 系统会去检查这个档是否存在 , 以决定
是否要 run fsck .
/etc/fdprm : floopy disk parameter table . 一般情况下是不须要更动的 , 除非
你有很奇怪格式的软碟 , 或者你想做出不符合一般格式的磁碟片 .
/etc/nologin : 你也许会感到奇怪 , 我的 /etc 这个 directory 下并没有这个档啊?
没错 , 它平常是不存在的 , 通常会看到这个档的话 , 那表示系统大
概要 shutdown 了 , 因为系统要 shutdown 了 , 自然不希望有人又
login 进来 , 所以在我们执行 shutdown 时 , nologin 这个档会自动
的被 create , 里面放著 shutdown message . 实际上 , 当我们在
login 时 , 系统会去检查有没有这个档 , 假如有的话 , 那就会印出
这个档案中的 message , 然後不让你 login .
nologin 也有可能是为了某种理由被制造的 , 比如说系统在 maintain
暂时不希望有人 login . 无论如何 nologin 若存在 , 就不能 login
/etc/fstab : 记录开机要 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 表其次, 馀类推......
# 要挂上的档案系统 挂在那里 档案系统格式 读写状况
/dev/hdb2 swap swap defaults
/dev/hdb1 / ext2 defaults
/dev/sbpcd /mnt/cdrom iso9660 ro
/dev/hda1 /mnt/dosc msdos rw
/dev/hda5 /mnt/dosd msdos rw
/dev/hda6 /mnt/dose msdos rw
none /proc proc defaults
/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 中的 symbolic host
name. name2 就是讯息将被送往之 gateway 的 name 或 IP address.
/etc/group : 如同 /etc/passwd 列出了系统中所有的使用者名字 , /etc/group
定义系统中所有的 group name 与相关讯息 .
格式为: group_name:passwd:GID:user_list
如 : author::200:jhhsu,emotion,passion
上面的例子表示 jhhsu,emotion,passion 都是属於 author 这个 group
通常 passwd 那栏是空白的 , 表示不用密码 . 或放一个 * 号
以下也是一个典型的例子 :
root::0:root,jhhsu
bin::1:root,bin,daemon
daemon::2:root,bin,daemon
sys::3:root,bin,adm
adm::4:root,adm,daemon
tty::5:
disk::6:root,adm
lp::7:lp
mem::8:
kmem::9:
wheel::10:root,jhhsu
shadow::11:root
mail::12:mail
news::13:news
uucp::14:uucp
man::15:man
users::100:games
bbs:*:99:bbs,bbsuser,bbsroot
当然啦 ! 这个档案只能为 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/hosts : 这个档案记录著 IP address 至 hostname 的 mapping . 如我们想把
ccsun21.csie.nctu.edu.tw 取个别名叫 : oldstock
那我们就可以在这个档案里写如下的叙述 :
140.113.17.151 oldstock
如此一来 , 以後我们 telnet oldstock 就等於 telnet
140.113.17.151
在这个档案中 , 至少会有两列 , 一列为 loopback , 这是为了侦错目的
而设的 , 另一列为 local host , 就是你自己的机器 .
/etc/hosts.equiv : 在里面可以设定一些 remote machine , 而从这些 remote
machine 利用 rsh 或 rlogin 连回 local machine 的话
便不用输入密码
同样的东西也可以在 .rhosts 见到 . 比如说在 ccsun22.csie
.nctu.edu.tw 上你的 Home Directory 建一个 .rhosts 档 ,
里面的内容如下:
rebel.dorm10.nctu.edu.tw jhhsu
以後只要在 rebel.dorm10.nctu.edu.tw 上利用 rsh 或 rlogin 至
ccsun22.csie.nctu.edu.tw 的话 , 也不须要输入密码
rsh -l jhhsu ccsun22.csie.nctu.edu.tw <-- 不须密码
不过这东西最好不要乱设 , 以信得过的 hosts 为主 ,
才不会造成 security 上的困扰 .
/etc/hosts.deny : 设定那些 remote hosts 不可以使用 inetd
/etc/hosts.allow : 设定那些 remote hosts 可以使用 inetd
至於 inetd 有那些 service , 各位可以去看看 /etc/inetd.conf
从里面就可以很清楚的可以看得出来 .
假如你采取比较 close 作法的话 , 可以在 hosts.deny 中写
ALL:ALL
但是如此一来 , 只要不是从 localhost 来的 , 那大概都不必
玩了 , 所以 , 我们也要适时的在 hosts.allow 中加入可以
access 的 hosts , 如 :
ALL:140.113.17. <-- 只要从 140.113.17.X 都可以 access
ALL:140.113.4.
ALL:140.113.6.
/etc/hosts.lpd : 记录可 access printer 的 hosts . 假如一台 printer可被网路上
的许多台主机所共用, 那 printcap 这个档案必须得描述完整的网
路设定资讯. 在比较严密控制的情况下, 有两个条件必须符合首先,
local machine 必须在 remote machine 的 /etc/hosts.eqiuv 中,
或者, 在 remote machine 的 /etc/hosts.lpd 中被记载第二, 使
用者必须有 remote machine 的帐号.
/etc/inetd.pid : inetd process id
/etc/issue : 这个档案被记录著 login prompt 前所要 echo 的 message , 特别要注
意的是 /etc/rc.d/rc.S
下面的四行若没有 mark , 则每次开机 issue 及 motd 都会被改变
假如你要有自己的设定 , 下面一定都要 mark 起来如下 :
#echo > /etc/issue
#echo Welcome to Linux /bin/uname -a | /bin/cut -d -f3. >> /etc/issue
#echo >> /etc/issue
#echo "/bin/uname -a | /bin/cut -d -f1,3. (Posix)." > /etc/motd
/etc/klogd.pid : klogd process id
/etc/ld.so.conf : 记录一些 library 所在的目录
/etc/magic : 初看这个档案时 , 也许只能隐隐约约的看到 : 这个档案似乎是描述一些
档案的格式. 没错, 这个档案记载了许多档案格式的识别字串或方法那
这个档在那里会用的到呢? 各位有使用过 file 这个指令吗? file 这个
指令的命令格式为:
file [ -c ] [ -z ] [ -L ] [ -f namefile ] [ -m magicfile ] file
file 这个指令非常有趣, 它可以告诉你某一个档案的格式, 如它是一个
text 档, 或是一个 shell script 或 DOS 可执行档等...... 而 file
这个指令, 就是去参考 /etc/magic 这个资料库. 假如你知道某一档案
的识别字, 而原来 magic 这个资料库没有记录, 那你可以把识别方法加
到资料库中, 或乾脆建立自己的资料库算了.
/etc/motd : 这个档很简单 , 就是 message of the day 的意思 , 里面可以写一些
message , 而这些 message 会在 login shell 之前被显示出来 .
通常都是 system administrator 要告知 user 的一些讯息. 而关於每次
都会改变的问题, 在前面 /etc/issue时已提出过,记得 mark 起来就好.
/etc/mtab : 目前 mount 上来的 filesystems , 各位可使用 mount 这个指令来看看
这个档的变化 . 如我在 mount 3.5 inch 软碟A 前 , 我看到的 mtab
如下 :
/dev/hdb1 / ext2 rw 0 0
/dev/hda1 /mnt/dosc msdos rw 0 0
/dev/hda5 /mnt/dosd msdos rw 0 0
/dev/hda6 /mnt/dose msdos rw 0 0
none /proc proc rw 0 0
然而 , 当我以 mount -t msdos /dev/fd0H1440 /mnt/dosa 这个指令将
3.5 inch 软碟A 挂上来後 , mtab 变为像下面的情况
展开阅读全文