2009年11月10日 星期二

[系統] Linux fstab 設定錯誤 導致無法開始 出現 /dev/hdxx

因為不小心設定錯誤 /etc/fstab or hdd 出現問題時大致上會出現

Give root password for maintenance
輸入root 的密碼

提示 (repair filesystem) 1 #
就會進入 lever 1模式 ,進行修復動作....
此模式下,是唯讀模式,不可以修改檔案.....

所以要輸入 mount -n -o remount,rw /
重新載入 / ,並給於 寫入讀取權限,再將所設定錯誤的檔案修改回來。

由於此例子,是winner 將強制將 ext3 使用 xp 開機光碟,轉換成 NTFS
所以所導致 /etc/fstab 讀取錯誤。
所以應該先將 /etc/fstab 中的 hdb1 錯誤partition 給先拿掉,不要讀取它。

vi /etc/fstab 拿掉 hdb1 拿掉.....
:wq 存檔離開....並重新開機

參考文獻:http://linux.vbird.org/linux_basic/0510osloader.php#solution_config
電子檔下載


因設定錯誤而無法開機:

如果因為設定錯誤導致無法開機時,要怎麼辦啊?這就更簡單了! 最容易出錯的設定而導致無法順利開機的步驟,通常就是 /etc/fstab 這個檔案了, 尤其是使用者在 實作 Quota 時,最容易寫錯參數, 又沒有經過 mount -a 來測試掛載,就立刻直接重新開機,真要命,無法開機成功怎麼辦? 不要緊啦!利用上個小節提到的以 run level 1 的方法進入 Linux 系統,然後:
  • 利用『 mount -n -o remount,rw / 』重新掛載根目錄, 之後將剛剛設定錯誤的地方修改一下,就可以重新開機啦!
但萬一是因為不正常關機,導致開機時進行 fsck 無法成功,而出現類似這樣的幾行字:

/home contains a file system with errors,check blocks.
/home:Group 81's inode table at 2654219 conflicts with some other fs blocks.
/home: UNEXPECTED INCONSISTENCY ; RUN fsck MANUSLLY
(i.e. , without –a or –p options)
*** An error occurred during the file system check.
*** Dropping you to a shrll ; the system will reboot
*** when you to leave shell....
Give root password for maintenance(or type Control-D for normal startup):


這表示你的 filesystem 可能有磁區錯亂的情況,一般來說,這樣的磁區錯亂應該不是實體硬碟錯誤, 比較可能是由於不正成關機造成filesystem 的不一致 (Inconsistent) 所造成的。 造成這個問題之後,我們必須要輸入 root 的密碼,進入 run level 1 , 然後以 fsck /dev/hd[a-d][1-16] 來修復磁碟。例如,假設上面的案例中, /home 掛載在/dev/hda6 上面,那我就『 fsck /dev/hda6 』,不要加上任何參數。 等到系統發現錯誤,並且出現『clear[Y/N]』時,輸入『 y 』吧!

這個過程可能會很長,而且如果你的 partition 上面的 filesystem 有過多的資料損毀時, 即使 fsck完成後,可能因為傷到系統槽,導致某些關鍵系統檔案資料的損毀,那麼依舊是無法進入 Linux
的。此時,就好就是將系統當中的重要資料複製出來,然後重新安裝,並且檢驗一下, 是否實體硬碟有損傷的現象才好!不過一般來說,不太可能會這樣啦~
通常都是 fsck 處理完畢後,就能夠順利再次進入 Linux 了。

轉載地: http://blog.yam.com/invite19/article/10622880

[系統] MRTG安裝

環境:CentOs 5.3
需要套件:httpd、freetype、libjpeg、libpng、gd、mrtg、net-snmp
為避免安裝上困擾及套件相依性問題,用yum一次解決上述套件安裝問題
#yum -y install httpd freetype libjpeg libpng gd mrtg net-snmp
開啟監控本機網路功能 (依個人需求)

由於預設只監控router,所以需要若要開啟此功能則須修改/etc/snmp/snmpd.conf,修改如下
view systemview included .1.3.6.1.2.1.1
view systemview included .1.3.6.1.2.1.2 (增加此行)
view systemview included .1.3.6.1.2.1.25.1.1
重新啟動snmp
# service snmpd restart
修改Apache預設語系
由於至目前為止MRTG好像尚未支援產生UTF-8的網頁,所以必須將Apache修改成big5
# vi /etc/httpd/conf/httpd.conf
找到AddDefaultCharset UTF-8修改成AddDefaultCharset big5,重新啟動apache
修改及產生mrtg.cfg檔案
#cfgmaker public@192.168.0.10 > /etc/mrtg/mrtg.cfg
(public是本機預設的snmp名稱,監控其他設備不見得都是public,要看設備上定義的snmp名稱
例如:cfgmaker router@192.168.0.1 >> /etc/mrtg/mrtg.cfg
有多台設備時要用>>符號,用>會將之前的設定蓋過去)
接著修改/etc/mrtg/mrtg.cfg
Created by
# /usr/bin/cfgmaker public@192.168.0.10
### Global Config Options
# for UNIX
WorkDir: /var/www/mrtg (修改這行)
# or for NT
# WorkDir: c:\mrtgdata
### Global Defaults
# to get bits [...]

文章出處

[系統] 移除舊有的kernel

每次更新完kernel都進去用圖形介面刪除舊的kernel,
一時間忘了怎麼從文字介面去刪除,原來方法很簡單,
# cat /boot/grub/menu.lst
這樣可以show出現有的所有kernel版本,例如:title CentOS (2.6.18-128.2.1.el5)
只要直接用rpm加上kernel版本就可以很簡單的移除了
# rpm -e kernel 2.6.18-128.2.1.el5

文章出處

[postfix] Postfix加上灰名單過濾信件

這也是使用Postfix比較可悲的地方,像exchange一次將MTA的相關功能都整合在一起,以exchange 2007來說,還有個Edge Server這個角色(就是Mail Gateway),
一次通通都做好,不像使用Postfix的我們,
要一一的將這些額外的功能附加上去,比較常見的有MailScanner(郵件過濾)、Spamassassin(垃圾郵件偵測)、SPF(偽裝信件防堵)
現在再加上這一個灰名單(Greylist),它的原理也不算太難,就是利用郵件重送機制來防堵垃圾郵件,
在對方第一次寄信時,送出請對方重新寄送的請求,主要是抓住垃圾郵件主機「大都」不會做重送的盲點,
不過個人經驗發現,現在的垃圾郵件也學聰明了,會做重送的動作,不過即使如此,
還是很推薦裝上這個,因為可以檔掉大部份的垃圾郵件,其餘的就交給Spamassassin來判斷吧。
=====================================================================
需求軟體:
Postgrey (http://postgrey.schweikert.ch/)
Perl-BerkeleyDB
Perl-IO-Multiplex
Perl-Net-Server
********* perl相關套件*********
# perl -MCPAN -e shell
# cpan> install Net::Server
# cpan> install IO::Multiplex
# cpan> install BerkeleyDB
******************************
*********安裝 Postgrey*********
# tar -zxvf postgrey-1.27.tar.gz
# cd postgrey-1.27
# cp postgrey /usr/local/sbin
# mkdir /var/spool/postfix/postgrey
# chown postfix:postfix /var/spool/postfix/postgrey
# cp postgrey_whitelist_clients postgrey_whitelist_recipients /etc/postfix/
**********************************************************************
*********修改Postfix設定檔*********
# vi /etc/postfix/main.cf
# smtpd_recipient_restrictions =permit_mynetworks, reject_unauth_destination, check_policy_service inet:127.0.0.1:10023
**********************************
*********開機自動執行*********
# vi /etc/rc.d/rc.local
# /usr/local/sbin/postgrey –inet=10023 –user=postfix –group=postfix [...]

文章出處

[系統] 在Linux下做msn監聽

說真的~這個監聽的動作~基本上已經涉及個人隱私問題~所以如果真的要做的話~也低調一點比較好~
小弟我公司的老闆是沒特別要求對這部分做監聽~但我先做起來以防不時之需~
謎之音:其實是想滿足你自己的偷窺慾吧~
呵~好吧~那只是小小的一部份~~
首先要先有個認知~這這監聽要裝在NAT或是Bridge上才有意義,要不然等於沒做
使用的套件為msniff
需要三個程式
下載點如下:
http://shh.thathost.com/pub-unix/files/msniff-0.2.0.tar.gz
http://shh.thathost.com/pub-unix/files/shhmsg-1.4.1.tar.gz
http://shh.thathost.com/pub-unix/files/shhopt-1.1.7.tar.gz
解完壓縮後直接做make && make install

之後在安裝libpcap
沒有的話直接 yum install libpcap 安裝它
或者是下載http://www.tcpdump.org/release/libpcap-0.9.8.tar.gz
解壓後安裝
./configure
make install

都ok了最後裝msniff-0.2.0.tar.gz
解壓msniff-0.2.0.tar.gz後進入目錄
make
會產生一個msniff的執行檔,這樣應該就ok了
P.S~這裡有個小插曲~由於我的libpcap是用yum install的方式安裝的~並不是用原始碼編譯後安裝的~
所以在安裝msniff時~make始終都過去不去~會出現pcap.h: No such file or directory這個錯誤~
可以更改更改 Makefile 裡的 INCDIR, 將它指向 pcap.h 的正確路徑,或是用yum安裝libpcap-devel套件

msniff 指令用法
./msniff eth0 ANY 1863
eth0 : 要監聽的介面
ANY : 要監聽的pc ,可以打 ip 192.168.x.x
1863 : 要監聽的 port , msn 預設 1863
轉為文字檔
msniff eth0 ANY 1863 >> /var/log/msn/msn.log &
>> : 附加符號
& : 轉為背景執行
該文字檔為 UTF-8 格式
要轉為big5 可以這樣轉檔:
iconv -f utf-8 -t [...]


文章出處

[iptables ] 一個 IP 一小時只許建立(或嘗試)三次 SSH 連線

iptables recent module 操作備忘

  • 同一個 IP 來源在一個小時內只允許建立(或嘗試)五次 SSH 連線
  • 建立解除封鎖的後門
  • /proc/net/ipt_recent/* 清單

同一個 IP 來源在一個小時內只允許建立(或嘗試)三次 SSH 連線

iptables -A INPUT -p tcp --dport 22 --syn -m recent --rcheck --seconds 3600 --hitcount 3 --rttl --name SSH --rsource -j DROP

iptables -A INPUT -p tcp --dport 22 --syn -m recent --set --name SSH --rsource -j ACCEPT

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

註: 請注意 rule 順序: 先設置 recent 條件 -j DROP, 再設置 recent --set -j ACCEPT

建立解除封鎖的後門

#留下解鎖的記錄
iptables -A INPUT -p tcp --dport 1600 --syn -j LOG --log-prefix "SSH_CONN_UNLOCKED "

iptables -A INPUT -p tcp --dport 1600 --syn -m recent --remove --name SSH --rsource -j REJECT --reject-with icmp-host-unreachable

使用方法: telnet linux.host 1600

註: 以上 tcp 1600 port 可以改成任一個未使用的 tcp port

/proc/net/ipt_recent/* 清單

若未設定 --name 則預設為 DEFAULT

#把某 IP 加入 DEFAULT 記錄清單
echo xx.xx.xx.xx > /proc/net/ipt_recent/DEFAULT

#把某 IP 從 DEFAULT 清單移除
echo -xx.xx.xx.xx > /proc/net/ipt_recent/DEFAULT

#清空 DEFAULT 清單
echo clear > /proc/net/ipt_recent/DEFAULT

[windows] 讓Office 2000、XP、2003也可以開啟Office 2007的檔案

連到微軟的下載中心:
MicrosoftOffice(Word, Excel, PowerPoint 2007)檔案格式相容性套件


下載安裝即可開啟Office 2007的檔案

2009年11月9日 星期一

[mail] OpenWebMail

系統使用CentOS 5.1


OpenWebMail為一功能強大的網頁郵件程式,可提供使用在無郵件軟體時,可以瀏覽器收發郵件。

1.安裝apache2
yum install httpd mod_ssl
chkconfig httpd on
service httpd start

2.安裝相關元件
yum install perl-suidperl gcc gcc-c++ elinks

3.下載openwebmail元件
cd /var/www
elinks turtle.ee.ncku.edu.tw/openwebmail/download/current
下載openwebmail-current.tar.gz

cd /usr/local/src
elinks turtle.ee.ncku.edu.tw/openwebmail/download/packages
下載CGI.pm-3.05.tar.gz
MIME-Base64-3.01.tar.gz
Text-Iconv-1.2.tar.gz
libiconv-1.9.1.tar.gz
libnet-1.19.tar.gz

4.安裝CGI.pm套件
cd /usr/local/src
tar -zxvf CGI.pm-3.05.tar.gz
cd CGI.pm-3.05
perl Makefile.PL
make
make install

5.安裝MIME-Base64套件
cd /usr/local/src
tar -zxvf MIME-Base64-3.01.tar.gz
cd MIME-Base64-3.01
perl Makefile.PL
make
make install

6.安裝libnet套件
cd /usr/local/src
tar -zxvf libnet-1.19.tar.gz
cd libnet-1.19
perl Makefile.PL (詢問時回答no)
make
make install

7.安裝Text-Iconv-1.2套件
cd /usr/local/src
tar -zxvf libiconv-1.9.1.tar.gz
cd libiconv-1.9.1
./configure
make
make install

cd /usr/local/src
tar -zxvf Text-Iconv-1.2.tar.gz
cd Text-Iconv-1.2
perl Makefile.PL
make
make test
make install

8.解壓縮openwebmail
cd /var/www
tar -zxvBpf openwebmail-current.tar.gz
mv data/openwebmail html/
rm -rf openwebmail-current.tar.gz data

9.修改openwebmail密碼檔
cd /var/www/cgi-bin/openwebmail
cp etc/defaults/auth_unix.conf etc/auth_unix.conf
vim etc/auth_unix.conf

passwdfile_encrypted /etc/shadow
passwdmkdb none

10.修改openwebmail安裝設定檔
vim etc/openwebmail.conf

mailspooldir /var/spool/mail
ow_cgidir /var/www/cgi-bin/openwebmail

ow_htmldir /var/www/html/openwebmail
ow_htmlurl /openwebmail

spellcheck /usr/bin/ispell

11.初始化openwebmail
cd /var/www/cgi-bin/openwebmail/
cp etc/defaults/dbm.conf etc/
vim etc/dbm.conf

dbm_ext .db
dbmopen_ext .db
dbmopen_haslock no

/var/www/cgi-bin/openwebmail/openwebmail-tool.pl --init
cp /var/www/cgi-bin/openwebmail/misc/patches/iconv.pl.fake /var/www/cgi-bin/openwebmail/shares/iconv.pl

chown -R root:root /var/www/html/
chown -R root:root /var/www/cgi-bin/
chmod -R 777 /var/www/cgi-bin/openwebmail/etc/sessions

12.修改suidperl
cd /var/www/cgi-bin/openwebmail
perl misc/tools/wrapsuid/wrapsuid.pl /var/www/cgi-bin/openwebmail/
chmod 4555 /usr/bin/suidperl

13.新增openwebmail log
touch /var/log/openwebmail.log
chown root:apache /var/log/openwebmail.log

14.重新啟動apache2
service httpd restart

15.修改index
cp /var/www/html/openwebmail/redirect.html /var/www/html/index.html

文章轉載處: MIS先生

[系統] Webmin

Linux管理好工具:Webmin

系統使用CentOS 5.1

1.安裝elinks
yum install elinks

2.下載webmin到/usr/local/src
cd /usr/local/src
elinks www.webmin.com/download.html
下載webmin-1.420-1.noarch.rpm

3.安裝webmin
rpm -Uvh webmin-1.420-1.noarch.rpm

4.安裝相關元件
yum install gcc openssl openssl-devel

5.使用瀏覽器連線http://主機IP:10000,輸入root帳號密碼登入即可。

備註:
◎使用SSL加密
1.安裝SSL
Webmin Webmin Configuration SSL Encryption download and install make and install
2.啟動SSL
Webmin Webmin Configuration SSL Encryption
設定
Enable SSL if available? Yes (啟動SSL)
Redirect non-SSL requests to SSL mode? Yes (自動轉換HTTP網頁到HTTPS)
Save儲存設定

◎變更連接Port
Webmin Webmin Configuration Ports and Addresses
Listen on port 10000更改為想要使用的Port
Save儲存設定

◎變更使用語言
Webmin Webmin Configuration Language
Display in language更改為Traditional Chinese或想使用的語系
Change Language儲存設定

文章轉載處:MIS先生