FreeBSD中/etc下的文件简介[1]

[入库:2006年2月23日] [更新:2007年3月24日]

本文简介:



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 时会自动将此档案

本文关键:FreeBSD中/etc下的文件简介
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top