ivaneeo's blog

          自由的力量,自由的生活。

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
          FreeBSD中/etc下的文件可以說是紛繁復雜,對熟悉它的人來講不算什么,但對于一個新手來說就。。。太亂了,下面是一些經常用到的配置文件的作用和配置方法,但愿能給你一點幫助。 

          1. aliases 
          2. crontab 
          3. csh.cshrc 
          4. csh.login 
          5. csh.logout 
          6. daily 
          7. defaultdomain 
          8. exports 
          9. fbtab 
          10.fstab 
          11.ftpusers 
          12.group 
          13.host.conf 
          14.hosts 
          15.inetd.conf 
          16.localtime 
          17.login.conf 
          18.make.conf 
          19.monthly 
          20.motd 
          21.netstart----新版已改名為/etc/rc.network 
          22.passwd 
          23.printcap 
          24.profile 
          25.rc 
          26.rc.conf----代替原來的/etc/sysconfig 
          27.rc.conf.local----代替原來的/etc/rc.local 
          28.rc.i386 
          29.rc.local----新版改名為/etc/rc.conf.local 
          30.rc.network----代替原來的/etc/netstart 
          31.resolv.conf 
          32.services 
          33.shells 
          34.sysconfig----新版已改名為/etc/rc.conf 
          35.syslog.conf 
          36.termcap 
          37.ttys 
          38.weekly 

          1. aliases 

          這個檔案主要是告訴 sendmail 要將信轉寄給哪些使用者, 或是交由哪個程式處理. 

          如. root: user1,name2,user3 
          usenet: "|/usr/local/bin/mail-post.pl" 

          如上范例, sendmail 會將原先寄給的 root 的信分送給 user1 和 name2 和 user3, 而把寄給 usenet 的信交由 mail-post.pl 處理. 

          在你修改完之後, 要記得執行 "newaliases" 來更新 /etc/aliases.db 

          關於 aliases 之詳細說明, 請 man aliases 查詢. 

          2. crontab 

          這是給 root 用的 crontab file, 你也可以殺掉這個檔案以 "crontab -e" 來替代. 
          格式如下... 

          #分 小時 天 月 禮拜幾 用誰的身份 命令 
          */5 * * * * root /usr/libexec/atrun 

          minute: 分鐘/小時, 范圍自 0 至 59 
          hour: 小時/天, 范圍自 0 至 23 
          mday: 天/月, 范圍自 0 至 31 
          month: 月/年, 范圍自 0 至 12 
          wday: 天/周, 范圍自 0 至 7 (0, 7 表示星期天) 
          who: 表是以誰的身份執行這個 command 
          (這只對 /etc/crontab 有用, crontab -e 無此欄位) 
          command: 命令或是 shell script 

          */N: 表示每 N 一算, 像小時而言, */3 指的是 0,3,6,9,12 

          請 man 5 crontab 去看詳細說明. 

          3. csh.cshrc 

          # 系統內定給 csh shell 用的 .cshrc 檔 

          ## 確定 HOME 目錄 
          setenv HOME $HOME 
          set home=$HOME 
          cd $HOME 

          ## 檔案權限設定 
          umask 022 

          ## 就是 Aliases 嘛 
          alias pftp '/usr/local/bin/pftp' 
          alias free 'pstat -s|grep -v not' 
          alias talk ytalk 
          alias ruptime '/usr/bin/ruptime|grep -v down' 
          alias ftp ncftp 
          alias rwho '/usr/bin/rwho -a|grep -v LOGIN' 
          alias more less 
          alias zmore zless 
          alias m less 
          alias pss 'ps auxw|sort -k 2|grep $USER' 
          alias psm 'ps auxw|sort -k 1,2|more' 
          alias psl psm 
          alias psv 'ps auxw|grep -v $USER|sort -k 2|more' 
          alias d '/usr/local/bin/colorls -G -alFgk \!* | more' 
          alias dir '/usr/local/bin/colorls -G -alFgk \!*' 
          alias rd rmdir 
          alias md mkdir 
          alias cls clear 
          alias cd.. 'cd ..' 
          alias del '/bin/rm -i' 
          alias xdel '/bin/rm -rf' 
          alias mv 'mv -i' 
          alias dir/w '/bin/ls -aFgk' 
          alias dw '/bin/ls -aFgk' 
          #alias x '(startx &)>&/dev/console;sleep 300;lo' 
          #alias lpr 'lpr -m' 
          alias cp 'cp -i' 
          alias rm 'rm -i' 
          alias lo 'clear;exit' 
          alias bye 'clear;exit' 
          #alias vi cvi 
          alias unlo 'unset autologout;unsetenv autologout' 
          alias q joe 
          alias .. 'cd ..' 
          alias ... 'cd ../..' 
          #alias ku 'ku -W' 
          alias tin rtin 
          #alias s 'exec screen' 

          ## 環境設定 
          set path = (/sbin /usr/sbin /bin /usr/bin /usr/local/sbin /usr/local/bin) 
          set path = ($path /etc /usr/etc /usr/local/etc) 
          set path = ($path /usr/X11R6/bin /usr/games) 
          set path = ($path ~ ~/bin .) 
          set mail = (10 /var/mail/$USER) 
          set recexact 
          set autolist 
          set matchbeep = ambiguous 
          set autoexpand 
          set autocorrect 
          set ignoreeof 
          set noclobber 
          set notify 
          set correct = all 
          if ( ! $?WINDOW ) then 
          # set prompt = "%B%m [%/] [%?] -%n- " 
          set prompt = "%B%m [%/] -%n- " 
          else 
          set prompt = "%B%m [%/] -%n- [W$WINDOW] " 
          endif 
          set prompt2 = "(%t %m)%~ #%% " 
          set prompt3 = "%SDo you mean [%R] (y/n/e) ? " 
          set history = 500 
          set savehist = 500 
          set time=100 
          #set watch=(1 any any) 
          set symlinks = ignore 
          set listlinks 
          set listjobs 
          set rmstar 
          set showdots 
          #set tperiod = 30 
          # set autologout = (60 2) 
          #setenv MANPATH /usr/man:/usr/local/man:/usr/man/preformat:/usr/X11/man:/usr/openwin/man 
          setenv EDITOR /usr/local/bin/joe 
          setenv VISUAL /usr/local/bin/joe 
          setenv EXINIT 'set ai' 
          setenv LESS "-EsPm-LESS-" 
          setenv LESSCHARDEF "8bcccbcc18b95.." 
          setenv PAGER "less -Em" 
          #setenv PAGER more 
          setenv LC_CTYPE lt_LN.ISO_8859-1 
          setenv LANG C 
          setenv BLOCKSIZE 1k 
          setenv MACHINE_ARCH i386 
          setenv MACHINE i386 
          setenv ORGANIZATION "交大資工 ADONIS" 

          ## X 相關設定 
          setenv XWINHOME '/usr/X11R6' 
          setenv X11HOME '/usr/X11R6' 
          setenv OPENWINHOME '/usr/X11R6' 
          setenv XKEYSYMDB /usr/X11R6/lib/X11/XKeysymDB 
          setenv XNLSPATH /usr/X11R6/lib/X11/nls 
          #setenv LD_LIBRARY_PATH /usr/lib:/usr/X11R6/lib:/usr/local/lib 
          stty erase '^?' 

          if ( $?TERM ) then 
          if ($TERM == "xterm" || $TERM == "xterms") then 
          stty erase '^H' 
          endif 
          endif 

          ## 雜七雜八設定 
          #set term = vt100 
          #set TERM = vt100 
          #setenv term vt100 
          #setenv TERM vt100 
          #stty extb 
          stty 38400 
          stty crt 
          stty -tabs 
          stty -istrip 
          stty pass8 
          unlo 
          #bindkey "[HOME]" beginning-of-line 
          #bindkey "[ESC]" keyboard-quit 
          limit coredumpsize 0 

          # 給 FSP Client 用 
          setenv FSP_PORT 21 
          setenv FSP_HOST nctuccca.edu.tw 
          setenv FSP_DIR / 
          setenv FSP_TRACE 
          setenv FSP_DELAY 3000 

          # Aii.. 就是 fsp aliases :) 
          alias fcat '(set noglob; exec fcatcmd \!*)' 
          alias fcd 'setenv FSP_DIR `(set noglob; exec fcdcmd \!*)`;fpwd' 
          alias fdu \(set noglob\; exec fducmd \!\*\) 
          alias ffind \(set noglob\; exec ffindcmd \!\*\) 
          alias fget '(set noglob; exec fgetcmd \!*)' 
          alias fgrab '(set noglob; exec fgrabcmd \!*)' 
          alias fls '(set noglob; exec flscmd -F \!*)' 
          alias fll '(set noglob; exec flscmd -l \!*)' 
          alias fdir '(set noglob; exec flscmd -l \!*)' 
          alias fmore \(set noglob\; exec fcatcmd \!\* \| more\) 
          alias fpro '(set noglob; exec fprocmd \!*)' 
          alias fpwd 'echo "$FSP_HOST ($FSP_PORT): $FSP_DIR"' 
          alias frm '(set noglob; exec frmcmd \!*)' 
          alias frmdir '(set noglob; exec frmdircmd \!*)' 
          alias fhost 'setenv FSP_HOST \!*;setenv FSP_DIR /' 

          4. csh.login 

          # 系統內定的 .login 檔. 

          #stty extb 
          stty 38400 
          #stty crt 
          #stty -tabs 
          stty -istrip 
          stty pass8 

          # Mesg y if not console 
          mesg y 
          if ( `tty | cut -c 6-` == console ) then 
          mesg n 
          endif 

          msgs -fp 

          5. csh.logout 

          # 系統內定的 .logout 
          clear 


          6. daily 

          cron 會依照 /etc/crontab 去做每日例行的工作. 注意一下有些 commands 對你的硬盤造成很大的負荷, 像是最後一 行的 "sh /etc/security", 他會從你的根目錄開始查詢. 你可以加些每天你想要執行的commands, 像是  "quotacheck -a", "bin/rm/-f /tmp*junk*. 

          7. defaultdomain 

          這個檔案記載你的 domainname, 你有跑 yp (nis) 時才有用. 當然閑閑填一填也沒差啦. 

          8. exports 

          這個檔案定義哪些目錄可經由 NFS 給別人使用. 
          例如 /cdrom -ro host1,host2 
          /home -maproot=root host3 

          Notice: 若你沒加 "-ro" 表示可以寫入, 所以你應當小心點. 

          做完修正後, "kill -1 $mountd_pid", 然後用 "showmount -e" 去看看 NFS 是否做的正確. 如果有錯, 用 "tail /var/log/messages" 來看錯誤訊息. 

          你應該要將 /etc/rc.conf 中的 nfs_client_enable, nfs_server_enable 設為 YES. 

          詳細說明請 man 5 exports. 

          9. fbtab 

          /dev/ttyv0 0600 /dev/console 
          /dev/ttyv1 0600 /dev/console 
          /dev/ttyv2 0600 /dev/console 
          /dev/ttyv3 0600 /dev/console 
          #/dev/ttyv0 0600 /dev/pcaudio:/dev/pcaudioctl 

          10.fstab 

          這個檔案定義當你開機時, 你想 mount 哪些 partition. 
          例如. 

          /dev/sd0a / ufs rw 1 1 
          /dev/sd0e /dos msdos ro,-gmsdos,-m750 1 1 
          /dev/sd0g /usr/local ufs rw,userquota 1 1 
          /dev/sd0h /home ufs rw,userquota,groupquota 1 1 
          /dev/sd0b none swap sw 0 0 
          proc /proc procfs rw 0 0 
          kern /kern kernfs rw 0 0 

          詳情請 man fstab. 

          如果你的 /usr 沒有跟 / 放在一起,要特別注意,/usr 不可以放在使用 LKM 載入的 filesystem 後面。例如,你的 MSDOSFS 是利用 LKM 載入的(也就是說,你沒有把 MSDOSFS 編譯在 kernel 中),你的 /dos 
          一定要放在 /usr 後面,不然開機會失敗,例如: 

          modload:exec(/usr/bin/ld):NO such file or directiory 
          msdos:vfsload(msdos):Operation not permitted 
          Filessystem mount failed,startup aborted 
          Enter pathname of shell or RETURN for sh 

          11.ftpusers 

          這個檔注明的 users 將無法 ftp 這臺機器. 只要寫 username 即可. 算是禁止 ftp 進來的黑名單吧. 

          12.group 

          這個檔案主要記載著 group 名稱, group id 以及隸屬於該 group 的使用者. 

          要記得在 FreeBSD 中, 只有屬於 wheel group 的使用者才能 su 成 root. 

          在升級時特別注意 /usr/src/etc/group 中是否有新增系統 group, 如 network 這個 group 就是最近新增的 group. 

          其他詳細請用 man group. 

          13.host.conf 

          這個檔案決定 DNS-name-lookup 的先後順序. 你最好先 "hosts", 其次 "bind", 最後用 "nis". 

          hosts: 自 /etc/hosts 查詢. 
          bind: 自 nameserver (參考 /etc/resolv.conf 設定) 查詢. 
          nis: 自 nis server 查詢. 

          14.hosts 

          這個檔案記載了你所需要的 ip 和 hostname, 最少要包括 localhost 和你自己的 hostname, 通常是提供優先於 nameserver 的查詢, 或是沒有 nameserver 時的查詢. 

          格式如下: 
          IP-addr full-hostname alias 
          如. 123.456.789.123 heaven.net.com heaven 

          請 man hosts 去看詳細說明. 

          15.inetd.conf 

          這個檔案定義由 inetd 所提供的服務, 應該要和 /etc/services 保持一致性. 

          當你修改這個檔案的時候, 記得要 kill -1 $inetd_pid 去知會 inetd 要重新更新資料. 

          你可以安裝 tcp-wrapper (tcpd) 以增加安全性. 

          16.localtime 

          這個檔記載你所在的時區資料, 你可以從 /usr/share/zoneinfo 中選一個適合的來用. 

          就臺灣而言, 你應該用 /usr/share/zoneinfo/Asia/Taipei, 正常來說, 在 install 時會自動將此檔案 copy 到 /etc/localtime. 

          17.login.conf 

          此檔案可控制系統資源與帳號各方面的限制,亦可設定內定之環境變數。 

          "man login.conf" for detail. 

          18.make.conf 

          當你用 make 時, 這個定義檔將被參考. 

          如果不是以 BSD 格式撰寫的 Makefiles, 你應該安裝 gmake (GNU) 

          19.monthly 

          每月例行的 jobs. 

          20.motd 

          Message Of Today, 顧名思義, 就是當你 login 時所出現的畫面. 

          假如你要有自己的 motd, 你必須把 /etc/rc.local 前面幾行在開機時會更改 motd 的命令拿掉, 否則你每次開機 motd 會被亂改. 

          21.netstart----新版已改名為/etc/rc.network 

          目前此檔已由 /etc/rc.network 取代 目前此檔只作為 root 在 single user mode 要手動啟動網路服務 
          時使用。 這個檔案不要做更動, 應該去修改 /etc/rc.conf 

          22.passwd 

          /etc/passwd /etc/master.passwd /etc/spwd.db /etc/pwd.db 都是 由 vipw 所產生的. 關於怎樣去建一個帳號, 請參考 HOW-TO-adduser. 

          你可以 man passwd, vipw, chpass, chfn 查詢詳細說明. 

          23.printcap 

          這個檔案定義印表機的設定, 在修改後, 試著用 lpr 去列印一些東西, 假如你覺得很慢, 試著用 lptcontrol -p 去改變  /dev/lpt0 到 poll 模式, 當然, 你可以將 lptcontrol -p 加到 /etc/rc.local 里 以使每次開機都有 效. 

          man lptcontrol 查詢詳細說明. 

          24.profile 

          這是 /bin/sh 的 default 設定. 

          25.rc 

          當系統開機時, kernel 會先去載入 /sbin/init, 然後 /sbin/init 會去執行 /etc/rc, 所以  /etc/rc 相對於 DOS 而言就好像 AUTOEXEC.BAT. 這個檔案不要去更改, 假如你不希望每次開機時 /tmp 會被清乾凈,  那你可以將跟 /tmp 相關的幾行給砍掉. (個人偏好) 

          26.rc.conf----代替原來的/etc/sysconfig 

          這主要用來做系統開機時的環境設定. /etc/rc, /etc/rc.i386, /etc/rc.conf.local, /etc/rc.network, /etc/[bla bla] 都會參考這個檔案. 所以這個檔案可以說非常重要. 

          大多都有注解, 以下列舉一些你該注意的地方... 
          1) hostname : 你的完整 hostname (FQDN: 像是 freebsd.csie.nctu.edu.tw) 
          2) network_interfaces : 網路卡的 device name, 像是 "ed0 lnc0". 
          3) ifconfig_xxx : 定義網路卡及其 ip address. 
          像是 ifconfig_ed0="inet 140.113.145.1 netmask 0xffffff00" 
          ifconfig_ed1="inet 140.113.190.1 netmask 0xffffff00" 
          方法如下... 
          ifconfig_$device-name="inet $IP netmask $netmask", 
          netmask 0xffffff00 就是 255.255.255.0 表 Class C 網路. 
          4) defaultrouter: 內定的 router IP.(比如: 140.113.122.254) 
          5) routdflags : 通常 NO. 但是假如你想要跑 routed, 則用 "-s" 或 "-q". 
          詳細說明請 man routed. 
          6) rwhod : YES 執行 rwho daemon. rwho 跟 ruptime 須此 daemon. 
          7) sendmail_flags : 執行 sendmail daemon, 通常設為 "-db -q30m" 
          8) nfs_* : 執行 nfs client 或 server 
          9) check_quotas : enable 檔案系統 quotas 
          10) accountint : enable command accounting, "lastcomm" 須要. 
          11) firewall_enable : enable firewall 的功能 
          firewall_type : 指定 firewall 的形態 

          你應該設定完後再重新開機以測試是否每個改變都合乎你的要求. 

          27.rc.conf.local----代替原來的/etc/rc.local 

          在這個檔案加入你個人的設定, 你可以將開機時想要執行的動作放在這里. 像 gopherd, lptcontrol, swap-on-file 等. 

          28.rc.i386 

          這個檔案不要更動. 

          29.rc.local----新版改名為/etc/rc.conf.local 

          新版已由/etc/rc.conf.local所取代。 

          30.rc.network----代替原來的/etc/netstart 

          有關網路方面各項設定請由 /etc/rc.conf 設定,原則上此檔不需更動 

          31.resolv.conf 

          這定義 DNS 查詢 nameserver 的先後順序. 

          1. domain : 將你的 domainname 放這兒. 
          2. nameserver : 將你的 nameservers 放這兒, 最前面的會被當成主要的nameserver. 
          3. search : 將 domainnames 放這兒, 當你沒有輸入完整的 hostname 時, 他會將 domainnames 附加上去. 例如: search csie.NCTU.edu.tw NCTU.edu.tw edu.tw tw 

          詳情請 man resolver. 

          32.services 

          定義 service 名字以及 port. 不需要更動。 

          33.shells 

          所有的 shell 都應該放在這個檔案里, 像是 /bin/sh, /bin/tcsh, /home/bbs/bin/bbsrf 等等. 

          假如說有某個使用者的 shell 沒有列在這個檔案中, 有些程式如 ftpd 會拒絕該使用者 ftp, 如 adduser 將會拒絕執行. 

          man shells 查詢詳細說明. 

          34.sysconfig----新版已改名為/etc/rc.conf 

          參考 rc.conf。 

          35.syslog.conf 

          這個檔案指出系統的 log 應該儲存在哪兒. 

          36.termcap 

          這個應該 link 到 /usr/share/misc/termcap. 

          37.ttys 

          定義 tty 的形式及某些 tty 允不允許 root login. 假如某些 ttys 後面加有 "secure", 表示 root 可以 login. 你應當多加些, 如 /dev/tty[pqrs][0-9a-v] 

          詳情請 man ttys。 

          38.weekly 

          每周例行的工作。
          posted on 2006-02-01 20:31 ivaneeo 閱讀(453) 評論(0)  編輯  收藏 所屬分類: freebsd魔力
          主站蜘蛛池模板: 古田县| 古丈县| 青河县| 临邑县| 府谷县| 长泰县| 庄浪县| 土默特左旗| 兴海县| 高陵县| 宜兰县| 永修县| 宜黄县| 南木林县| 潼关县| 温泉县| 博乐市| 五家渠市| 永仁县| 布拖县| 汶上县| 北宁市| 芮城县| 民乐县| 荆州市| 舒兰市| 米脂县| 新余市| 子洲县| 桐城市| 大渡口区| 靖安县| 宾川县| 绥棱县| 仪陇县| 星座| 南宁市| 炉霍县| 乡城县| 秦安县| 陇南市|