|
|||||
OpenWebmail |
防火牆 |
||||
|
DNS |
|
安裝RedHat Linux(回頁首)
硬碟分割及掛載點 (34GB)
分割區 |
大小 |
/ |
3G |
/boot |
256M |
/usr |
5G |
/var |
2G |
/tmp |
512M |
/home |
其它共22G |
linux swap |
512M |
建議先用english安裝,之後再選繁體中文語言
安裝時的防火牆設定為[高安全性]表示全部封鎖,再選允許進入的服務,如www,ftp,ssh,mail,其它埠輸入12000:tcp
套件升級(APT)(回頁首)
1.套件安裝
rpm --import ftp://linux.sinica.edu.tw/redhat/redhat-9/en/os/i386/RPM-GPG-KEY
rpm --import http://ftp.freshrpms.net/pub/freshrpms/RPM-GPG-KEY
rpm -ivh http://ftp.freshrpms.net/pub/freshrpms/redhat/9/apt/apt-0.5.5cnc6-fr1.i386.rpm
2.更新Client與APT Server的對應清單
apt-get update
3.升級我們系統上的所有RPM套件
apt-get -y -f dist-upgrade
(-y自動回答yes,-f
強迫更新)
4.將下載自APT Server的RPM檔案刪除
apt-get clean
5.設定每日早上三點自動更新
vi /etc/crontab
00 3 * * * root apt-get update; apt-get -y -f dist-upgrade ; apt-get clean
6.重新啟動 crond 這個服務
/etc/rc.d/init.d/crond restart
SSH(回頁首)
1.修改 sshd 伺服器相關設定 /etc/ssh/sshd_config
2.啟動 sshd
/etc/rc.d/init.d/sshd start
3.設定開機自動執行
setup -->system service -->sshd
4.顯示網路是否有啟動sshd服務
netstat -tl
WWW(Apache)(回頁首)
1.設定 Apache 顯示中文
vi /etc/httpd/conf/httpd.conf
#AddDefaultCharset ISO-8859-1 (最前面加#號)
2.設定不能瀏覽網頁目錄
<Directory "/var/www/html">
Options FollowSymLinks (將中間的 Indexes 刪掉)
3.啟動個人網頁(apache2.x 的個人網頁預設是關閉的)
#UserDir disable (在前面加上 #)
UserDir public_html (前面的 # 刪除)
4.啟動 CGI:找到 <Directory "/var/www/cgi-bin"> 這段,加上 Options +ExecCGI
<Directory
"/var/www/cgi-bin">
AllowOverride None
Options +ExecCGI
Options None
5.設定WWW預設首頁檔名
DirectoryIndex index.htm index.html index.html.var (加入index.htm)
6.重新啟動 httpd:
/etc/rc.d/init.d/httpd restart
7.設定開機自動執行
setup -->system service -->httpd
Apache命令 --> /etc/rc.d/init.d/httpd restart重新啟動, stop停止, status檢視狀態
網站首頁存放路徑 --> /var/www/html/index.html
Apach設定檔 --> httpd.conf,commonhttpd.conf,vhosts.conf
個人網頁存放位置 --> /home/個人帳號/public_html/index.html
個人網址 --> http://主機IP位址/~使用者帳號/
自訂首頁存放位置 --> /etc/conf/commonhttpd.conf 的DocumentRoot刪除#並修改指定位置
個人網站的家目錄權限為755
將網站首頁連結到管理者首頁 ln –s /home/yuan/public_html /var/www/html
Mail 安裝(Sendmail)(回頁首)
1.安裝的 rpm
sendmail (預設已安裝)
sendmail-cf (修改 sendmail.cf 時使用)
cyrus-sasl (Cyrus SASL 函式庫,外寄郵件伺服器驗證使用)
m4 (由 sendmail.mc 產生 sendmail.cf 時使用)
2.設定:
vi /etc/mail/sendmail.mc (將前兩行的 dnl 去掉,第四行 127.0.0.1 改成 0.0.0.0 )
dnl
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
dnl define(`confAUTH_MECHANISMS', `EXTERNAL
GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
.........................
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1,
Name=MTA')
如下所示:
TRUST_AUTH_MECH(`DIGEST-MD5
CRAM-MD5 LOGIN PLAIN') dnl
define(`confAUTH_MECHANISMS', `DIGEST-MD5 CRAM-MD5 LOGIN PLAIN') dnl
.........................
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')
(前面兩行,會啟動 smtp 的認證功能)
(第三行會開放 smtp 的服務範圍不是開放RELAY哦,因為預設只對本機(127.0.0.1)做服務)
3.使用 m4 產生新的 sendmail 設定檔:
cp /etc/mail/sendmail.cf /etc/mail/sendmail.cf.bak
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
4.設定寄件郵件的最大容量3M
vi /etc/mail/sendmail.cf
#maximum message size
O MaxMessageSize=3000000
5.檔案時間更新並重新啟動 sendmail:
cd /etc/mail
touch *
/etc/rc.d/init.d/sendmail restart
6.啟動POP3協定
vi /etc/xinetd.d/ipop3
將disable=yes改成disable=no
/etc/rc.d/init.d/xinetd restart
7.設定開機啟動服務:
【setup】->【System services】->點選【imap】、【ipop3】、【sendmail】、【xinetd】
8.測試
# telnet stmail.yocjh.kh.edu.tw 25
Trying 163.18.135.115...
Connected to stmail.yocjh.kh.edu.tw
Escape character is '^]'.
220 stmail.yocjh.kh.edu.tw ESMTP Sendmail 8.12.5/8.12.5; Wed, 19 Feb 2003
02:01:37 +0800
(出現上面這一行就成功了,按quit離開)
9.設定服務範圍:設定relay ,就是設定誰可以使用這項服務的意思
vi /etc/mail/access (加上以下紅字部分)
localhost.localdomain RELAY
localhost RELAY
127.0.0.1 RELAY
stmail.yocjh.kh.edu.tw RELAY
163.18.135 RELAY
#表示163.18.135 這個 Class C 的 IP,可以使用這台機器來寄信
#RELAY接受,REJECT回傳錯誤訊息,DISCARD丟棄
#也可以寫郵件地址test@yahoo.com.tw或網域yahoo.com.tw
10.將 access 轉成 access.db
makemap hash /etc/mail/access < /etc/mail/access
11.測試 mail server
是否為OPEN Relay
教育部的這個網址提供測試:http://www.edu.tw/tanet/spam.html
12.讓使用者的 mail 受 quota
的管制:通常會針對 /home 做 quota 設定,所以把 /var/spool/mail
移到 /home 底下做控管
mkdir /home/mail //在 /home 下建立一個 mail 資料夾
chown root.mail /home/mail //改變 mail 的擁有者和群組
chmod 775 /home/mail //改變權限
mv /var/spool/mail/* /home/mail //移動使用者的信件
mv /var/spool/mail /var/spool/mail.bak //變更mail資料夾名稱
ln -s /home/mail /var/spool/mail //做連結
13.寄給 root 的信都轉給yuan及yuan@mail.yocjh.kh.edu.tw
vi /etc/aliases (加入下面這一行)
root: yuan,yuan@mail.yocjh.kh.edu.tw
newaliases (將 aliases 轉成 /etc/aliases.db)
Mail Server概念
MUA ( Mail User Agent ):郵件使用者代理人,例如OutLook Express
MTA ( Mail Transfer Agent ) :郵件傳送代理人,郵件主機軟體Sendmail,收受外部主機寄來的信件或幫使用者傳送(寄出)信件
MDA ( Mail Delivery Agent ) :郵件遞送代理人,依照信件的流向將該信件放置到本機帳戶下的郵件檔案(Mailbox),可以將某種信件直接丟垃圾桶或自動回信
Mailbox :『郵件信箱』就是信件收受的檔案
使用的協定:寄信的時候,亦即由 MUA 將信件發送到 MTA 的過程中,以及 MTA 將信轉遞到下一個 MTA 的功能,目前絕大部分的郵件主機都是使用 SMTP ( Simple Mail Transfer Protocol ) 這個協定,port number 為 25 ,收信則是 MUA 經由 POP3 ( Post Office Protocol Version3) 協定來連接到 MTA 的使用者 Mailbox,以讀取或者下載使用者在 Mailbox 當中的信件,Port number 為110,常見的 Web 介面的電子郵件使用,大部分就是用IMAP 。
什麼是 Relay:由 MTA 幫忙轉信或寄信的功能就稱為 Relay ,任何人都可以使用的電子郵件主機稱為『Open Relay』,通常我們僅針對主機,或者一些規範的 IP 或者是網段等信任的主機來開放他們的 Relay 的功能,所以在這個設定的範圍內的 Client 端電腦可以自由的收發信件,至於沒有規範到的 IP 來源的寄信信件有所謂的 郵件認證機制 來解決,『郵件認證機制』就是在 MTA 當中加入檢查發信者的『帳號與密碼』比對的功能
sendmail 是主要的郵件伺服器程式, sendmail-cf 是一些設定檔案,m4 的套件則是轉換 sendmail 設定檔的一支程式, IMAP 套件,就是負責收信的 POP3 那個協定
Sendmail Server 的檔案架構
/etc/mail/sendmail.cf:主要設定檔
/etc/mail/sendmail.mc:用m4 可以將此簡單的環境設定檔轉成 sendmail.cf
/etc/mail/access.db :規定誰可以或不可以使用本郵件伺服器的資料庫,要轉成這個資料庫需要藉由 makemap 以及 /etc/mail/access 檔案的配合
/usr/sbin/sendmail:主要執行檔
/usr/sbin/ipop3d:sendmail 的功能是在處理寄信問題,而 ipop3d 就是處理 client 的收信問題,pop3 是由 imap 套件所提供的,並沒有包含在 sendmail 套件之中
/usr/sbin/makemap:主要將 access 轉成 access.db
/usr/sbin/mailstats:查看到目前為止 Sendmail 共傳送、接收多少郵件
/usr/bin/mailq:用來觀察 /var/spool/mqueue 這個郵件暫存目錄的資料情況的指令
/usr/bin/m4:這個就是將 *.mc 檔案轉成 *.cf 檔案的主要執行檔
/var/spool/mail :信件放置的目錄,一個帳號會使用掉一個檔案
/var/spool/mqueue:有問題的郵件暫時存放目錄,主機會隔30~60分鐘重新傳送一遍,在五天內還寄不出去,就會退給原發信者
群組寄信的功能:寄給s9213@stmail.yocjh.kh.edu.tw,其它人會收到相同的信
1.編輯別名設定檔:
vi /etc/aliases (加入群組名單)
s9213: s001,s002,s003,s004.s005,s006,s007.....
2.製作資料庫
newaliases
群組清單放於檔案的別名
1.編輯名單放於/etc/mail/student9213:
vi /etc/mail/student9213
st001, \
st002, \
....
st050
假設共 50 個學生,則最後一個不用加上『
, \』!與變數設定規則相符!
2.編輯 aliases
vi /etc/mail/aliases
dmtsai:
vbird
vbird:
vbird,vbird@vbird.adsldns.org
student9213:
:include:/etc/mail/student9213
設定郵件轉遞 .forward
帳號的家目錄之下建立一個檔案,檔名為 .forward
cd ~
vi .forward
bird1
bird2
bird@pchome.com
chmod 644 .forward
要轉寄的郵件位址都寫到 .forward ,每個位址用一行,且這個檔案必需設定只有你能修改
五分鐘之內無法寄出,則系統會發出一封『警告信』給原發信者
四小時仍無法寄出,系統會再次的發出警告信,五天都無法將信件送出,會退回給原發信者
只要下達 mailq 或者是 sendmail -bp 就可以這些郵件佇列的基本資料
統計郵件在 Mailer 中的狀態
mailstats
Statistics from Sat Mar 23 21:34:09 2002
M msgsfr
bytes_from msgsto bytes_to msgsrej
msgsdis Mailer
4 50752
9126380K 23617
5425714K 1070 122 esmtp
9 21329
5919236K 65162 13364494K
1068 8 local
=============================================================
T 72081
15045616K 88779 18790208K
2138 130
C
72081
88779
2655
T是總計,msgsfr為寄出,msgsto為收信,msgsrej為退回,msgsdis為丟棄,local為本地
etc/mail/aliases 這個檔案的權限為 644 ;
/etc/mail 底下的 *.db 檔案 權限為 640
/var/spool/mqueue 權限為 700
.forward 這個檔案的權限為644
Sendmail Server背景執行名稱daemon
quota設定(回頁首)
1.編輯 /etc/fstab(以下是用 /home 作例子)
vi /etc/fstab,找到下面這一行
LABEL=/home /home ext3 defaults,usrquota,grpquota 1 2
(加上 ,usrquota,qrpquota
千萬不要打錯字,也不要加上空格)
2.重新 mount 要設定 quota 的 partion
mount -o remount /home
3.使用 quotacheck 指令檢查檔案系統,產生 aquota.user、aquota.group
quotacheck -avmcug
4.啟動或關閉 quota
啟動:quotaon -avug
關閉:quotaoff -avug
5.設定使用者或群組的
quota值
edquota yuan (設定 yuan
這個使用者的 quota ,帳號要事先建好,此範例為容量
100MB)
修改前:
Disk quotas for user sysadm (uid 500):
Filesystem blocks soft hard inodes soft hard
/dev/hda5 7532 0 0 57 0 0
修改後:
Disk
quotas for user sysadm(uid 500):
Filesystem
blocks soft
hard inodes soft hard
/dev/hda5 7532 10000 10000 57 0 0
(第一個 hard 的設定值就是硬碟容量,單位是 KB,所以 10MB 就要設為 10000)
edquota -p yuan joy (將 yuan 的 quota 值複製給 joy 這個使用者)
edquota -p yuan * (將 yuan 的 quota 值複製給所有人)
(注意:下這個指令的時候要確定這個目錄下除了使用者目錄外沒有其他檔案存在,不然會失敗)
(注意:Red Hat Linux 8.0、9 不要建立純數字的帳號,在 quota 設定方面會出問題)
WAM(回頁首)
下載WAM並安裝(http://webmail.ysps.tp.edu.tw/~wam/download.html)
cd /disk2/soft
wget http://webmail.ysps.tp.edu.tw/~wam/wam-1.631225full.zip
unzip -d /disk2/soft wam-1.631225full.zip
cd wam
chmod 755 install
./install
修改參數設定:
1.修改 /usr/libexec/wam/ 內的 count.cgi、count_demo.cgi、gbook.cgi、mail.cgi、wam.cgi 五個 cgi 檔
找到 @referers = ('localhost','127.0.0.1'); 這一行,修改如下:
@referers = ('localhost','127.0.0.1','mail.yocjh.kh.edu.tw');
2.修改個人首頁範本檔:
vi /usr/libexec/wam/index.tmp
第5行: <title>dd的首頁</title></head> ---> <title>USER的首頁</title></head>
第15行:要修改兩個地方
<a href="http://www.ysps.tp.edu.tw/">回逸仙國小</a>(將紅字部分改為自己要的)
<a href="http://HOSTNAME:PORT/gbook.cgi?user=USER">我的留言版</a> (加上紅字的部分)
FTP(vsftp)(回頁首)
/etc/vsftpd.conf 或 /etc/vsftpd/vsftpd.conf:主要設定檔,『參數=設定值』等號兩邊沒有空白
/usr/local/sbin/vsftpd 或 /usr/sbin/vsftpd:主要執行檔
/var/ftp:預設匿名者登入的根目錄
1.修改vsftpd.conf 設定值
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
idle_session_timeout=5400
將前面#刪除並修改至1.5小時
chroot_local_user=YES
加入這一行
2.修改完畢重新執行
/etc/rc.d/init.d/vsftpd restart
3.設定開機自動執行
setup -->system service -->vsftpd
FTP使用20port傳遞資料,21port負責傳輸流程的控制
Samba伺服器(回頁首)
1.修改設定檔
vi /etc/samba/smb.conf
[global]
workgroup = yc #群組名稱
netbios name = teacher
server string = mail samba server
client code page = 950 #支援中文長檔名
security = user #需帳號密碼,設share就不用密碼
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
log file = /var/log/samba/%m.log
max log size=0
interfaces = 163.32.135.1
local master = yes
os level = 35
domain master = yes
domain logons = yes
logon script =u.bat
logon path = /etc/samba
[homes] #欲分享的虛擬資料夾名稱
comment = Home Directories
browseable = no
writable = yes
valid users = %s
create mode = 0664
directory mode = 0775
[share]
comment = share #說明,註解
path = /home/share #實際分享的檔案路徑
public = yes
writable = yes
printable = no
write list = @users
2.建立分享的目錄
mkdir /home/share
3.執行testparm檢測smb.conf的設定有沒有錯誤
4.執行samba伺服器
/etc/rc.d/init.d/smb start
RPM(回頁首)
rpm -ivh 軟體套件名稱
i 是 install,v(verbose)是顯示,h 是進度以一串 ########### 來表示
1.該軟體已安裝過
rpm -ivh 套件名稱
如果要重新安裝可用--force 指令:
--force 表示強行置換
rpm -ivh --force 套件名稱
2.沒有相依的套件
rpm -ivh php-imap.x.rpm
failed dependencies:imap is needed by php-imap
如果不管軟體的相依性,可用--nodeps指令強制安裝
rpm -ivh --nodeps php-ldap*.rpm
移除套件 rpm -e 套件名稱
升級套件 rpm -Uvh 套件名稱,會把舊的軟體移除再安裝新的,不管有沒有安裝過都可以使用
更新套件 rpm -Fvh 套件名稱,只有安裝過的套件才會更新。
查詢
rpm -qa | grep imap
rpm -ql apache
a 是 all,q 是 query 查詢已安裝的套件,grep 是搜尋符合的字串
匯入金鑰 rpm --import /usr/share/rhn/RPM-GPG-KEY
備份與壓縮(回頁首)
壓縮:將/etc內所有檔案打包並壓縮成etc_backup.tar.gz
tar -zcvf etc_backup.tar.gz /etc/*
(-z壓縮,-c建立,-v顯示過程,-f檔名,-x解開,-t顯示內容,-N日期,--exclude 不要的)
解開:將/disk2/etc_backup.tar.gz解開到/etc
cd /etc
tar -zxvf /disk2/etc_backup.tar.gz
壓縮(檔名用日期):將日期2003/09/01後的檔案打包及壓縮
tar -N '2003/09/01' -zcvf etc_backup.tar.gz /etc
壓縮(限來源):將/home內所有檔案打包並壓縮成home_backup.tar.gz,但不包含student92及student91資料夾
tar -zcvf home_backup.tar.gz /home --exclude /home/student92 --exclude /home/student91
系統完整備份:但不包含/dev,/lost+found,/mnt,/proc,/tmp資料夾
tar -zcvf system`date +%Y-%m-%d`.tar.gz / --exclude /dev --exclude /lost+found --exclude /mnt --exclude /proc --exclude /tmp
系統完整還原:(來源/disk2/system2004-01-10.tar.gz)
cd /
tar -zxvf /disk2/system2004-01-10.tar.gz
設計排程(回頁首)
編輯 /etc/crontab這個檔案
vi /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
#
run-parts
01 * * * * root run-parts /etc/cron.hourly <==每小時執行的工作
02 4 * * * root
run-parts /etc/cron.daily <==每天執行的工作
22 4 * * 0 root run-parts /etc/cron.weekly
<==每星期執行的工作
42 4 1 * * root run-parts
/etc/cron.monthly
<==每個月執行的工作
分 時日月週 身份 |========指令列===============|
數字代表的意義 |
分鐘 |
小時 |
日期 |
月份 |
週 |
範圍 |
0-59 |
0-23 |
1-31 |
1-12 |
0-6 (0為星期天) |
(1) 指令的路徑要下達絕對路徑,不然會找不到要執行的檔案
(2) 第一個數字 */5 表示『每五分鐘執行一次』的意思!
重新啟動 crond 這個服務吧!
/etc/rc.d/init.d/crond restart
藉由檢查 /var/log/cron 的內容來視察是否有『非您設定的 cron 被執行了?』
掛載與安裝硬碟(回頁首)
1.硬碟partition切割
fdisk /dev/sdb
(p顯示目前狀態,d刪除,q離開,n新增再按p再按1...,w儲存)
2.格式化
mke2fs -j -c /dev/sdb
(-c檢查錯誤,-j建立ext3的journaling的檔案格式)
3.建立一個目錄用來掛載新硬碟
mkdir /disk2
4.掛載新硬碟
mount -t ext3 /dev/sdb1 /disk2
(-a依/etc/fstab內容重新掛載,-l列出已掛載裝置)
(-t ext3為Linux檔案格式,-t vfat為Windows,-t iso9660光碟機)
5.系統自動掛載
vi /etc/fstab
加入 /dev/sdb1 /disk2 ext3 defaults,iocharset=big5,codepage=950 1 1
(defaults,iocharset=big5,codepage=950表示支援中文編碼)
130*100M
掛入與卸除:
mount /dev/hdb /mnt/data 掛第二顆硬碟 umount /mnt/data
mount /dev/cdrom /mnt/cdrom 掛光碟機 umount /mnt/cdrom
mount /dev/fd0 /mnt/floppy 掛軟碟 umount /mnt/floppy
mount /dev/sdb /mnt/data 掛第二顆scsi硬碟 umount /mnt/data
hdb1 第二顆IDE硬碟的第一分割區
sdb1 第二顆SCSI硬碟的第一分割區
其它(回頁首)
設定開機進入圖形或文字模式
vi /etc/inittab
改為 id:3:initdefault 跑文字模式
改為 id:5:initdefault 跑圖形模式
將光碟中己安裝過的套件升級
mount /dev/cdrom /mnt/cdrom
cp /mnt/cdrom/* /tmp
cd /tmp
rpm -Fvh --force *
重要檔案
/etc/fstab 啟動時自動設定掛載週邊設備
/etc/lilo.conf Linux Loader 設定檔
/tmp/install.log Red-Hat安裝Log檔
/var/adm/syslog 記錄su之使用
/etc/passwd , etc/shadow 帳號資料及密碼檔
/var/log 各種系統之log檔
/etc/rc.d 自動開機執行檔(類似Autoexec.bat)
/etc/issue,
/etc/issue.net 可修改login畫面,.net表telnet進來的畫面
/etc/syslog.conf 設定各種log檔的存放位置及檔名
/etc/login.defs 建立帳號時預設值內容
/var/log/maillog 郵件log檔
目錄介紹(回頁首)
/ 根目錄,包含整個作業系統的目錄及檔案
/etc 系統設定檔,如使用者帳號及密碼,輸入法,啟動模式
/etc/X11 放X Window相關的設定檔
/etc/rc.d 系統開關機必讀的執行檔及Script檔
/home 個人目錄,每位使用者帳號都在其下開一個資料夾
/var 記錄檔及網頁,spool列印工作,log系統活動過程,www網頁,ftp檔案傳輸
/bin 指令檔,供系統或各種程式應用
/usr 主要的應用程式,X11R6為XWindow相關的檔案,bin使用者可執行的指令檔
/boot 核心程式,啟動Linux時必讀的程式檔
/lib 系統共用函式庫,/lib/modules 系統核心的模組檔案
/mnt 存放各儲存媒體的掛載點
/root 系統管理者root的個人目錄
/sbin 存放啟動Linux時需執行的程式檔,如fsck,init,swapon,lilo
/tmp 存放臨時性的檔案
/opt 系統程行時暫存檔存放位置
/proc 存放系統核心及執行程序間的資訊檔
/dev 放週邊設備檔,每個設備一個檔案
指令介紹(回頁首)
ping IP (偵測電腦)
ipconfig (顯示網路設定)
passwd 帳號名稱 (改密碼)
useradd 帳號名稱 (建立帳號)
userdel -r 帳號名稱 (刪除帳號及使用者目錄及郵件)
groupadd 群組名稱 (建立群組)
groupdel 群組名稱 (刪除群組)
top或ps (監看系統狀態)
netstat -a | more (監看網路連線),LISTEN等待被連線,ESTABLISHED正在連線
檔案資訊指令
[ls] 顯示檔案系統結構
ls --color => 以彩色顯示檔案資料
ls | more => 分頁顯示ls結果
ls -l => 詳細列出檔案系統結構
ls -a => 不隱藏以點開頭的檔案(.file)
[ln] 建立符號連結﹝類似捷徑﹞
ln -s source destination
[file] 查看/分辨檔案類型
file perl => 查看Perl的檔案類型
[cd] 切換目錄
cd test => 切換到test的目錄
[find] [locate] [whereis] 尋找檔案及相關指令
whereis perl => 查看Perl指令的位置
find / -name perl* => 查看perl的有關檔案
[pwd] 顯示您目前的工作目錄
pwd => 結果:../root
檔案管理指令
[chmod] 改變檔案存取權
chmod +/-rwx test.txt
[chgrp] 改變檔案群組擁有者
chgrp friend test.txt
[chown] 改變檔案擁有者
chown tommy test.txt
[cp] 複製檔案
cp test.txt test2.txt => 將test.txt複製成test2.txt
cp [options] source1 source2 source3 .... directory
選項與參數:
-a :相當於下方 -pdr 的組合(常用)
-d :若來源檔為連結檔的屬性(link file),則複製連結檔屬性而非檔案本身;
-f :為強制(force)的意思,若目標檔案已經存在且無法開啟,則移除後再嘗試一次;
-i :若目標檔(destination)已經存在時,在覆蓋時會先詢問動作的進行(常用)
-l :進行硬式連結(hard link)的連結檔建立,而非複製檔案本身;
-p :連同檔案的屬性一起複製過去,而非使用預設屬性(備份常用);
-r :遞迴持續複製,用於目錄的複製行為;(常用)
-s :複製成為符號連結檔 (symbolic link),亦即『捷徑』檔案;
-u :若 destination 比 source 舊才更新 destination ! 最後需要注意的,如果來源檔有兩個以上,則最後一個目的檔一定要是『目錄』才行!
[mv] 移動及更名檔案
mv test.txt ../home => 將test.txt移到Home目錄
mv test.txt abc.txt => 將test.txt改名為abc.txt
[rm] 刪除檔案
rm test.txt => 刪除test.txt檔案
[mkdir] 建立目錄
mkdir test => 建立test目錄
[rmdir] 刪除目錄
rmdir test => 刪除test目錄
磁碟管理指令
[fdformat] 格式化軟碟
fdformat /dev/fd0
[badblocks] 檢查壞磁區
badblocks /dev/hda1
[mkbootdisk] 製作開機片
mkbootdisk --device /dev/fd0 2.2.xx
其中:
kernal的版本可在 /lib/moudules 下找到
*製作救援磁片 :
dd if=rescue.img of=/dev/fd0 bs=1440K
[mkfs -t ext2] 製作 ext2檔案系統
mkfs -t ext2 /dev/hda1
[fsck] 檢查檔案系統
[fdisk/cfdisk] 分割Partition
[mount] 掛入檔案系統 (磁碟、光碟等)
mount /dev/fd0 /mnt/floppy => 掛載 Floppy
mount /dev/cdrom /mnt/cdrom => 掛載 CDROM(IDE)
mount /dev/sd0 /mnt/cdrom => 掛載 CDROM(SCSI)
[umount] 卸掛檔案系統 (磁碟、光碟等)
umount /mnt/cdrom
[du] 查看硬碟使用狀況
[df] 查看硬碟剩餘空間
df -h
Back to TOP 系統相關指令
[logout/exit] 登出系統
[reboot] 重新開機
[shutdown] 關機
[sync] 將Process或記憶體,Swap區中的緩衝資料回存
[hall] 強迫關閉所有運作中Process,然後關機
[ps] 列出目前在記憶體中之Process狀態
[kill] 強行終止一個運行中Process
[free] 查詢記憶體狀態
[uname] 顯示伺服器之資料
uname -a
[cat /proc/cpuinfo] 顯示CPU有關資料
[cat /proc/version] 顯示Linux的版本及其它資訊
[cat /proc/filesystems] 顯示目前所使用的檔案系統
[cat /etc/printcap] 顯示印表機的設定
[lsmod] 顯示已載入的核心模組 ﹝必須以root登入﹞
[set] 顯示使用者的環境變數
設定用指令
[ifconfig] 查看網路狀態
[netconf] 設定網路相關細節
[setup] 設定TimeZone、Sound、X...等
[liloconfig] Lilo之config
[xf86config] 傳統的 X-Window 設定程式
[XF86Setup] X-free GUI介面X-Window設定程式
其他指令
[startx]啟動X視窗系統
[clear] 清除螢幕
[gunzip] 解.gz的壓縮檔
gunzip -d test.gz
[tar] 解.tar,.tgz的壓縮檔
tar -zxvf test.tar
z: 使用gzip
x: 解開tar檔
c: 建立一個新的tar檔
v: 顯示運作過程資訊
f: 檔案名稱
rpm 安裝以rpm包裝的檔案﹝Red Hat派專用安裝檔﹞
rpm -ivh filename.rpm﹝安裝﹞
rpm -Uvh filename.rpm﹝升級﹞
rpm -qip filename.rpm﹝查詢﹞
rpm -e filename.rpm ﹝移除﹞
v: 核對package內特定檔案
h: 印出 "#" 以顯安裝進度
[w]/[who] 列出線上使用者
[whoami] 查看自己的Login Name
[date] 查看目前日期時間
[cal] 顯示月曆或年曆
[man] 查詢指令用法
man ls => 查詢 ls指令的用法
last 曾登入系統的使用者
top/ps 監控系統資源
ifconfig eth0 down/up 關閉或開啟網路卡功能
netstat -t 顯示TCP/IP連線狀況
netstat -i 網卡接收與傳送封包狀況
startx 進入X Window
sync 將buffer寫入硬碟
shutdown -r now / reboot 重新開機
more / less 顯示或瀏覽內容
pwconv/pwunconv 啟動與關閉投影密碼
ps -aux 顯示背景執行的程式
kill 代號 刪除執行的程式
su -帳號 變換使用者
get 網址 下載一個檔案
mget 網址 下載多個檔案
put 網址 上傳一個檔案
mput 網址 上傳多個檔案
救援模式(回頁首)
文字介面GRUB 選單:
1.有設定password按p後輸入密碼
2.按e後在後面按空白並加上 1或 single,如下
grub edit>kernel /vmlinuz-2.4.20-8 ro root=LABEL=/ 1
3.按Enter後回上層畫面,按b開機即可。
圖形介面lilo:
1.按Ctrl+X離開圖形介面後出現 boot:
2.輸入linux single
光碟開機:
1.用RedHat第一片光碟開機
2.在文字boot後輸入 linux rescue再選語言 English,鍵盤 us
如沒有/mnt/sysimage則自行mount,如下
1.mkdir /mnt/system
2.mount /dev/sda3 /mnt/system
3.mkdir /mnt/disk2
4.mount /dev/sdb1 /mnt/disk2
5.cd /mnt/system
6.tar -zxvf /mnt/disk2/etc.tar.gz
將備份的檔案還原
Proxy(squid)(回頁首)
安裝 squid 使用 Tarball 方式
1.下載squid
wget http://ftp.nsysu.edu.tw/Unix/Proxy/squid/source/STABLE/squid-2.5.STABLE4.tar.gz
2.解壓縮:
cd /usr/local/src
tar -zxvf /disk2/software/squid-2.5.STABLE4.tar.gz
cd squid-2.5.STABLE4.tar.gz
3.開始設定參數:
export CFLAGES='-O2 -mcpu=i686'
./configure --prefix=/usr/local/squid --enable-gnuregex --enable-async-io=160 --enable-icmp --enable-kill-parent-hack --enable-snmp --disable-ident-lookups --enable-cahce-digests --enable-err-language="Traditional_Chinese" --enable-poll --enable-linux-netfilter
4.編譯及 Install
make && make install
5.設定相關參數
vi /etc/man.config
MANPATH
/usr/local/squid/man # 新加入這一行與 Squid 有關的 man page
設定squid
vi /usr/local/squid/etc/squid.conf
1.記憶體與磁碟快取留存百分比設定
cache_mem 256 MB
cache_swap_low 80
cache_swap_high 95
maximum_object_size 65536 KB
2. 設定快取目錄 ( Cache dir ) 的位置及大小與記錄檔案所在的目錄
#<cache_dir> <aufs|ufs> <目錄所在> <MBytes大小> <dir1> <dir2>
cache_dir aufs /disk2 36000 16 256
cache_dir aufs /disk3 36000 16 256
3. 關閉認證機制(mark起來)
#auth_param basic children 5
#auth_param basic realm Squid proxy-caching web server
#auth_param basic credentialsttl 2 hours
4.關於連線時間限制
connect_timeout 30 seconds
peer_connect_timeout
10 seconds
request_timeout
1 minutes
persistent_request_timeout
20 seconds
5.限制使用 proxy 的使用者,找http_access deny all加上這兩行
acl inside src 163.18.135.0/24
http_access
allow inside
http_access
deny all
6.設定 squid 的擁有者與系統管理員信箱:
cache_effective_user nobody
cache_effective_group nobody
cache_mgr yuan@mail.yocjh.kh.edu.tw
變更目錄權限: cache_dir 在 /disk2 時
chown -R nobody:nobody /disk2
開始啟動 squid:建立快取目錄的格式,以 nobody 來啟動 squid
/usr/local/squid/sbin/squid -z
su nobody -c "/usr/local/squid/bin/RunCache &"
查看是否真的啟動了 squid 了?
netstat -tln | grep 3128
tcp 0 0 0.0.0.0:3128 0.0.0.0:* LISTEN
重新讀取設定檔 squid.conf 的方法:
/usr/local/squid/sbin/squid -k reconfigure
暱稱acl 的用法
<acl> <acl名稱> <acl類型> <設定的內容>
acl類型
src ip-address/netmask:來源的 IP 位址,163.18.135.0/24
src addr1-addr2/netmask:一段範圍來源的 IP 位址
srcdomain .foo.com:來源為一某個網域的電腦
dst ip-address/netmask:目的端的 IP 位址
dstdomain .foo.com:目的端的網域
上層 Proxy 的設定方式: cache_peer
<cache_peer> <主機名稱> <類別> <http_port> <icp_port> <其他參數>
weight=n :權重的意思, n 越大表示這部 Proxy
default :表示該部主機為預設的 Proxy 主機
no-netdb-exchange:表示不向附近的 Proxy 主機送出 imcp 的封包要求
no-digest :表示不向附近主機要求建立 digest 紀錄表格。
使用 cache_peer_access 這個設定項目主要的格式範例:
#
<cache_peer_access> <上層 Proxy > <allow|deny> <acl名稱>