歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> 關於Unix >> FreeBSD中/etc下的文件簡介

FreeBSD中/etc下的文件簡介

日期:2017/2/28 11:15:59   编辑:關於Unix


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
14.hosts
16.localtime
19.monthly
20.motd
22.passwd
23.printcap
24.profile
25.rc
28.rc.i386
33.shells
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" 來看錯誤訊息.
詳細說明請 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.
這個檔案決定 DNS-name-lookup 的先後順序. 你最好先 "hosts", 其次 "bind", 最後用 "nis".
hosts: 自 /etc/hosts 查詢.
nis: 自 nis server 查詢.
14.hosts
這個檔案記載了你所需要的 ip 和 hostname, 最少要包括 localhost 和你自己的 hostname, 通常是提供優先於 nameserver 的查詢, 或是沒有 nameserver 時的查詢.
格式如下:
IP-addr full-hostname alias
請 man hosts 去看詳細說明.
Copyright © Linux教程網 All Rights Reserved