Monday, December 14, 2009

[Shell script] 自動開啟或關閉 vsftpd匿名登入機制

1 #!/bin/bash
2
3 vsftp_conf="/etc/vsftpd/vsftpd.conf"
4
5 if [ -f $vsftp_conf ]; then
6 if [ $# -ne 1 ]; then
7 echo "Parameters is not allow"
8 echo "usage: $0 on or $0 off"
9 exit 1
10 fi
11
12 case "$1" in
13 on) CMD='YES';;
14 off) CMD='NO';;
15 *)
16 echo "format error!"
17 exit 1
18 ;;
19 esac
20
21 if [ $CMD = 'YES' ]; then
22 sed 's/^.*anonymous_enable=.*/anonymous_enable=YES/' $vsftp_conf > /tmp/$$.vsftpd.conf
23 mv -f /tmp/$$.vsftpd.conf $vsftp_conf
24 /etc/init.d/vsftpd restart
25 else
26 sed 's/^.*anonymous_enable=.*/anonymous_enable=NO/' $vsftp_conf > /tmp/$$.vsftpd.conf
27 mv -f /tmp/$$.vsftpd.conf $vsftp_conf
28 /etc/init.d/vsftpd restart
29 fi
30 else echo "$vsftp_conf is not exist"
31 fi

說明:
列5 先判斷/etc/vsftpd/vsftpd.conf是否存在,若不存在則回報檔案不存在。(列30)
列6 判斷所傳入的引數是否為1個,若不是則回報錯誤並結束。 (列7~10)
列12-19 使用case,判斷是on, off或是格式有誤。
列21-24 若為on則設定anonymous_enable=YES,並重新啟動vsftpd。
列25-28 若為off則設定anonymous_enable=NO,並重新啟動vsftpd。

測試:
1. 允許匿名登入:
[root@centos bin]# ./vsftpd.sh on
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
[root@centos bin]# ftp localhost
Connected to localhost.localdomain.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (localhost:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

2. 不允許匿名登入:
[root@centos bin]# ./vsftpd.sh off
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
[root@centos bin]# ftp localhost
Connected to localhost.localdomain.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (localhost:root): ftp
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.
ftp>
References:

Friday, December 11, 2009

TestShell Studio

今天下午參加了派恩科技所舉辦的新世代電子與網通產品自動化測試技術研討會,見識到了QualiSystems所研發的TestShell tools其強調並不需要programming的能力就能完成自動化測試的工作,讓我印象最為深刻的就是TestShell Studio,它能結合多種網通測試設備(IXIA,SmartBits and etc),自訂commands,遠端控制DUT,錄製Web access action等等強大的功能以加快測試的速度!AWESOME!

只要把你腦海中的想法透過滑鼠Drag-&-drop,整個測試流程就完成了!我想這對於網通廠商來說是個非常有力的測試工具,也值得每個網通QA學習。

美中不足的是......
1. 沒有提供Trial version
2. 目前似乎沒有for Linux的版本

Wednesday, December 09, 2009

Google Chrome for Linux and Mac OSX goes beta!

Google Chrome for Linux與Mac OSX終於出Beta版了,在Linux方面提供了Debian/Ubuntu/Fedora/OpenSUSE的deb與rpm,而在Mac OSX呢,很遺憾地PPC的user還是被遺忘了,剛好我就是PPC的user @@||

Anyway,在Linux下與Firefox V3.5.5相比,Google Chrome運行起來的確是讓我感覺到有快一點,不過目前發現到有兩個缺點:

1. 預設的中文字型不好看。
2. 即使我已經裝了Adobe flash player,還是不能播放Youtube的影片。
有興趣的人可以試用看看唷!


Monday, November 30, 2009

emesene 1.5.1 - "awesome" bugfix edition has been released!

曾幾何時,當我從Pidgin跳槽至emesene時感覺到非常順手好用,但是唯一的缺點就是emesene常常回報對方收不到我的訊息,有時真覺得有點惱人,所以這陣子又跳回去使用Pidgin,雖然沒那麼好看但至少穩定。

Well,今天連到emesene official website發現到v1.5.1已經正式release了,並且也修正了送不出訊息的問題,好樣的重新拿回來使用!

嘿!不過目前還沒有OpenSUSE 11.2的rpm檔,先用tarball了。

Friday, November 27, 2009

How to configure mirror port on Cisco 2960G switch

碰到了就紀錄一下囉~
# monitor session 1 source interface Gi 0/11
# monitor session 1 destination interface Gi 0/10
如此一來port 10就會成為port 11的mirror port。


判斷service是否可使用TCP wrappers

在Linux系統中,針對service比較簡單的安全政策可透過TCP wrappers來做管理,但是有些service是可被TCP wrappers控管的,有些則不是,如何判斷呢?其實只要用ldd命令來查看service是否有利用到libwrap wrapper library就可以囉!以下舉幾個例子:
1. OpenSSH:
[root@centos ~]# ldd /usr/sbin/sshd | grep libwrap
libwrap.so.0 => /lib/libwrap.so.0 (0x003f9000)
2. NFS:
[root@centos ~]# ldd /usr/sbin/rpc.nfsd | grep libwrap
3. Apache:
[root@centos ~]# ldd /usr/sbin/httpd | grep libwrap
由上可知OpenSSH可由TCP wrappers託管,但是NFS與Apache則不行。(有自己的安全機制)

回憶起以前考RHEL3時是用死記的方法記下那些service可以被TCP wrappers託管,現在年紀大了記憶體不足,只好靠些小技巧來幫助。

Thursday, November 26, 2009

Netifera

Netifera是一套for Linux與MAC OSX的網路環境偵測軟體,使用起來非常簡單易懂。
帽客安裝在CentOS5.4下,從安裝到使用上沒有發生什麼問題,且整體跑起來感覺很流暢!值得推薦給大家使用。

What is Netifera?
Netifera is a new modular open source platform for creating network security tools. This project provides many advantages for both security developers and researchers who want to implement new tools as well as the community of users of these tools.
Netifera website
Netifera quick guide
Download Netifera

Thursday, November 19, 2009

如何透過ISO檔,更新CentOS

之前介紹過如何透過ISO檔升級OpenSUSE,身為紅帽與蜥蜴系的愛好者,當然也要介紹一下如何透過ISO檔升級CentOS(應該也可用於Redhat與Fedora)。

Step1. 建立掛載點:
# mkdir -p /mnt/iso/1
Step2. 掛載ISO檔:
# mount -o loop /mnt/nfs/CentOS-5.4*.iso /mnt/iso/1
Step3. 安裝createrepo套件:
# yum install createrepo
Step4. 產生來源repository:
# cd /mnt/iso
# createrepo .
Step5. 建立新repository設定檔:
# vi /etc/yum.repos.d/centos54.repo
[CentOS5.4 Repository]
baseurl=file:///mnt/iso
enabled=1
Step6. 準備升級:
先將原本的repos全部rename成xxx.repo.bak
# yum clean all
# yum update
成功的話就可看到下圖顯示準備更新成CentOS5.4的套件:


Wednesday, November 18, 2009

學習Linux CLI 的好站

想學習Linux CLI嗎?以下的網站非常值得閱讀或是當作線上工具書:
LinuxCommand
O'Reilly's Linux Command Directory
The Linux CookBook
Ols3 shell script
Also please let me know your favorite websites for learning Linux command line in the comments.

Tuesday, November 17, 2009

Fedora 12 即將release!

Oh.. Fedora12預計於.....2009.11.17 release (不就是今天嗎? 逃~),太久沒注意Fedora project了,明天download下來在VirtualBox上跑看看吧。

BTW, 最近真是OS的大混戰呀! 打得激烈!
Apple MAC OSX 10.6.2 [未使用,好想用呀~哭]
CentOS 5.4 [使用中]
Ubuntu 9.10 [未使用]
OpenSUSE 11.2 [使用中]
Fedora 12 [快要出了]
Windows 7 [恩...]

Friday, November 13, 2009

升級OpenSUSE 11.1至11.2之雜記

OpenSUSE 11.2已經於11.12日正式release了,雖然說11.1目前在S10e上跑得挺順的,但是手癢的我還是決定給它升級看看,以往我會選擇重新安裝的方法來升級,反正/home是配置到另外一個partition,系統重新安裝也不會讓資料遺失,但是總覺得要重新調整到自己習慣的桌面設定太浪費時間了,於是這一次我選擇透過將software repositories指定成OpenSUSE 11.2的方法來安裝:

Step1. Yast->Software->Software Repositories->Add->Local ISO Image添加OpenSUSE11.2镜像。
Step2. 手動移除OpenSUSE 11.1的repositories
Step3. # zypper dup
遺憾的是.....我竟然在X Window幹下此等蠢事,zypper dup會將有衝突的軟件強制刪除,沒想到在Firefox開啟的狀態下,造成系統crash導致更新尚未完成!重開機後整個系統爛掉,唉!我可不能panic呀,冷靜下來進入failsafe mode重新再執行一次zypper dup,沒想到卻回報無法找到來源,原來還需要讓Kernel把loop的模組掛起來,於是便執行modprobe loop,如此一來就可以繼續升級的動作了。

沒想到升級完後,只有保留了kernel-2.6.27.37-0.1-pae而竟然沒有安裝上新的kernel-2.6.31.5-0.1-desktop,導致無法進入GNOME..... anyway透過zypper再裝上新版的kernel吧,裝上後一切搞定,可以正常進入GNOME,目前嘗試使用看看。

Update1_新增OpenSUSE 11.2的repositories:
# zypper ar http://ftp.gwdg.de/pub/linux/misc/packman/suse/11.2/ packman
# zypper ar http://download.opensuse.org/distribution/11.2/repo/oss/ opensuse11.2_oss
# zypper ar http://download.opensuse.org/distribution/11.2/repo/non-oss/opensuse_11.2_non-oss
# zypper ar http://download.opensuse.org/update/11.2/ opensuse11.2_update
Update2_安裝S10e(Broadcom Corporation BCM4312 802.11b/g)的wireless module:
# zypper in broadcom-wl*

Friday, October 30, 2009

CentOS 5.4 now is available to download!

令人喜愛的CentOS5.4正式release囉!趕緊來download.... :)

CentOS 5.4 release notice
Download site

如果已經安裝了之前的版本,則可透過以下的命令線上更新系統:
# yum list updates
# yum update

Thursday, October 29, 2009

備份利器: rsnapshot

rsnapshot與我之前用rsync備份的方法比較起來看來是更加地簡單好用了,有興趣的朋友可參考以下的文章作個測試:
How To Backup Local Unix Host Using rsnapshot rsync Utility
How To Backup Remote Linux Host Using rsnapshot rsync Utility

Thursday, October 22, 2009

Clone HD in the VirtualBox

錯誤方法:
copy / paste original vdi檔。


正確方法:
Windows->cmd->vboxmanage clonehd "original vdi" "new vdi"


之後匯入新的vdi檔就不會造成UUID重複的問題了。

Monday, October 19, 2009

Install FreeMind in OpenSUSE 11.1

在OSX下習慣用FreeMind紀錄一些自己的ideas,但我的末代"老"白iBook G4它老人家重達2.2Kg在加上一些書籍,我實在是背不動了,所以就將S10e安裝成OpenSUSE帶去上班用,索性也來裝個FreeMind來使用吧,沒想到,它真的不是很好安裝,很多套件不論是官方的repository或是packman repository都沒有,只好手動自己找一找裝一裝了。(忽然想起多年前在RHEL3.0要裝K3b support燒錄mp3的壯烈情況。)

裝完了之後,遇到了中文亂碼的問題,參考了佑子窩 blogger所提供的方法很順利的解決了。
不過OpenSUSE與Ubuntu有個地方不一樣:
OpenSUSE: ln -s /usr/share/fonts/truetype/uming.ttf
Ubuntu: ln -s /usr/share/fonts/truetype/arphic/uming.ttf

[Shell script] Select選單語法練習

1. 以選單方式,提供要刪除哪一個檔案 (a1, a2, a3, a4 and a5)
2. 只有當user輸入y/Y時,才會將檔案刪除。
#!/bin/bash
select VAR in a1 a2 a3 a4 a5 exit
do
case $VAR in
a1) read -p "Delete a1? (y/Y/n/N)" FLAG
if [ $FLAG = y -o $FLAG = Y ]; then
rm -f ./a1
fi;;
a2) read -p "Delete a2? (y/Y/n/N)" FLAG
if [ $FLAG = y -o $FLAG = Y ]; then
rm -f ./a2
fi;;
a3) read -p "Delete a3? (y/Y/n/N)" FLAG
if [ $FLAG = y -o $FLAG = Y ]; then
rm -f ./a3
fi;;
a4) read -p "Delete a4? (y/Y/n/N)" FLAG
if [ $FLAG = y -o $FLAG = Y ]; then
rm -f ./a4
fi;;
a5) read -p "Delete a5? (y/Y/n/N)" FLAG
if [ $FLAG = y -o $FLAG = Y ]; then
rm -f ./a5
fi;;
exit) exit;;
esac
done

Friday, October 16, 2009

[Shell script] 遞迴

#!/bin/bash
function re () {
local tmp
tmp=$1
if [ $tmp -eq 1 ]; then
total=1
else
re $(($tmp-1))
total=$(($tmp*$total))
fi
}


read -p "Data=" VAR
re $VAR
echo "$VAR!=$total"
太久沒寫了腦袋打結了一下。

Thursday, October 15, 2009

Fine Tuning Firefox

參考了以下的文章在OpenSUSE 11.1下調整了FireFox的參數,感覺有改善!
Fine Tuning Firefox

順便找到備份FF的軟體:
FEBE

最後附上OpenSUSE 11.1美美的桌面環境。

Wednesday, October 07, 2009

OpenSUSE 11.2 roadmap

沒意外的話應該在今年的11月12號OpenSUSE 11.2就會release了,我還蠻喜歡OpenSUSE team的roadmap。

Milestone -> Release Candidate -> Gold Master
http://en.opensuse.org/Roadmap/11.2

如何幫助測試OpenSUSE: http://en.opensuse.org/Testing/

Sunday, October 04, 2009

Free Partition Manager for Windows

I find a good partition management tool for Windows series OS.
EASEUS Partition Master it's very useful, and Home user edition is free!

Tested on Lenovo S10e netbook and it's works.