這兩天在SUSE上安裝和配置FTP時,遇到不少問題,這裡做一下總結:
一、安裝
SUSE的圖形用戶界面做的很不錯,所以安裝過程也比較簡單。
1、打開Yast,Software→Software Management;
2、剛開始使用Suse的軟件管理器非常的不習慣,找不到所需的信息在什麼地方,可是用了一段時間之後,就感覺它的分類方式更加方便,也為用戶提供了更多的信息。在Filter→Package Groups,在下面的樹形列表中Productivity→Networking→Ftp,也可以展開Ftp節點,選擇其中的Servers節點;
3、在左側的軟件包列表中選擇vsftpd,然後點擊下方的Accept按鈕,會提示插入光盤;
4、插入所需的光盤後,系統會自動開始安裝,安裝完畢,可以在下面的File List選項頁中查看vsftpd相關的所有文件。
二、啟動服務
安裝完成後,vsftpd是作為一個獨立的服務啟動,不接受xinetd的管理。系統會自動在Service列表中添加名稱vsftpd的服務。啟動服務的步驟如下:
1、Yast→System→System Services(Run level);
2、在服務列表中選擇vsftpd,點擊下方的Enable按鈕,啟動服務,Finish。
注意,在啟動vsftpd時可能會不能啟動,有時是因為它所依賴的服務沒有啟動,如syslog,這時選中syslog,點擊Enable按鈕。如果還是不能啟動,可以重新啟動xinetd服務,然後再啟動vsftpd服務。
三、遇到的問題
1、只允許匿名用戶登錄
現象:ftp連接過程中,提示輸入用戶名,輸入本機已有用戶名angel,得到提示:530 This FTP server is anonymous only,登錄失敗。
原因:安裝vsftpd後,其默認為匿名FTP服務器,只允許匿名用戶登錄。
解決方法:vsftpd有三種服務器方式:匿名方式、本地方式和虛擬用戶方式,此處需要修改vsftpd的配置將其設為本地方式。vsftpd的配置文件位於/etc/目錄下,名稱為vsftpd.conf。關於該配置文件在網上已經有很多高手做了詳細的分析和講解,並且該文件內部的注釋也比較詳細,這裡就不再一一講解了。下面只說明幾處需要修改的地方:
將local_enable=YES前的#去掉,使其可用,表示允許本地用戶登錄;增加listen_port=21配置項,設置監聽端口為21;該步驟可選,不允許匿名用戶登錄,將anonymous_enable=YES的值改為NO,根據實際需要設置。
重啟vsftpd服務:service vsftpd restart。啟動後,在進行測試,使用本地用戶angel及其密碼登錄,成功。注意:以上測試是在本機(或使用SSH登錄後)進行。
2、其他機器不能連接該服務器
現象:本機測試通過後,在其他機器(Windows或RedHat)上使用ftp 192.168.1.8連接該服務器,得到Connection closed by remote host或Connection timed out提示信息,連接失敗。
原因:Suse的防火牆阻止了外來機器對FTP所用的端口的訪問。
解決方法:放開防火牆對FTP所使用的20和21端口的限制,步驟如下:
i> Yast→Security and Users→Firewall;ii> 在左側的列表中選擇Allowed Services,令人感到以外的是,即使安裝FTP服務器,在Servces to Allow列表中也沒有FTP服務可供選擇,但是SSH、HTTP、HTTPS、Samba等都赫然在列,所以要使用高級設置。點擊右下方法的Advanced按鈕,打開高級設置對話框;iii> 在TCP Ports中輸入20 21,注意兩個端口號之間使用空格分開,OK;iv> Next→Accept,重新測試,連接成功,使用Suse系統中已有的angel及其密碼登錄,成功。
注意,雖然這裡有些問題是在Suse下遇到,但是在其他操作系統中的vsftpd的配置中依然適用。
OpenSUSE 自帶了下列 FTP 服務器端程序,自行選擇一個:
* pure-ftpd
* vsftpd
* ftpd (包含在 krb5-apps-servers 軟件包中)
vsftpd
特性
* 可以與 xinetd 結合使用
* 安全第一的設計原則
* 小,輕量級軟件
安裝
* 從 YAST/軟件管理 搜索安裝 vsftpd。(安裝盤上有)
設置
vsftpd 有兩種模式,獨立模式和 xinetd 模式。
獨立模式需要你在開機後手動以 root 執行 vsftpd 命令啟動 FTP 服務器,xinetd 模式則不一直運行FTP後台,只有有用戶向你的 FTP 服務器發出 ftp 請求時立即啟動 FTP 服務器後台程序。後者需要機器啟動時打開 xinetd 服務,在 SUSE/SLED 系列是默認的設置。先確定你要選擇哪種模式,然後進行之後的設置。
xinetd 模式
* 在 xinetd 中打開,可以手動編輯 /etc/xinetd.d/vsftpd 文件把 disabled yes 改成 disabled no,或者使用命令來實現
chkconfig vsftpd on* 啟動 xinetd (如果未運行)。
/etc/init.d/xinetd start* 確定 xinetd 在機器啟動時運行
chkconfig xinetd on* root權限編輯文件 /etc/vsftpd.conf,確定 listenYES 前面加了 #。如果沒有,加上保存。
獨立模式
* root權限編輯文件 /etc/vsftpd.conf,確定 listenYES 前面沒有 #。如果有,去掉保存。
檢查運行狀況和防火牆設置
* 檢查 FTP 服務器是否在正常運行,默認配置文件是允許匿名用戶只讀的,/srv/ftp/ 作為對外 FTP 的主目錄。
* 如果必要,調整防火牆設置。如果是用默認的SuSEFirewall2,在 YaST-系統-/etc/sysconfig 編輯器,network-SuSEfirewall2 把 ftp 添加到 FW_SERVICES_EXT_TCP,比如你還要打開 ssh 那麼
FW_SERVICES_EXT_TCP"ftp ssh"* 如果你需要被動模式 FTP 和 nat,在 YaST-系統-/etc/sysconfig 編輯器,network-SuSEfirewall2
FW_LOAD_MODULES"ip_conntrack_ftp ip_nat_ftp"
重啟之後,vsftpd 將會按照你選擇的模式運行。
簡明配置
配置要修改文件 /etc/vsftpd.conf.
* 啟用向服務器的寫權限,去掉下面一行前面的#
write_enableYES* 允許本地用戶登錄,去掉下面一行前面的#
local_enableYES* 默認,一個用戶不能訪問自己主目錄之外的目錄,要禁用去掉下面一行前面的#
chroot_local_userNO* 禁用匿名用戶登錄
anonymous_enableNO
配置文件
* /etc/logrotate.d/vsftpd
* /etc/pam.d/vsftpd
* /etc/vsftpd.conf
* /etc/vsftpd.chroot_list
: 此文件包含對服務器上所有FTP內容有權限的用戶名。對其他用戶來說,他們在服務器上的主目錄對他們顯示為根目錄。
* /etc/shells
: 在允許本地用戶登錄之前,系統默認檢查是否有有效的用戶 shell。以防 PAM 認證不可用的情況。
* /etc/ftpusers
: 此文件包含*禁止*FTP登錄的用戶名,通常有 "root", "uucp", "news" 之類,因為這些用戶權限太高,登錄 FTP 誤操作危險性大。
1. 以root身份登錄系統
2. 到java.sun.com去下載JDK1.5.0 for LINUX的rpm. 應該是個jdk-1_5_x-rc-linux-i586-rpm.bin的文件
3.通過chmod +x jdk-1_5_x-rc-linux-i586-rpm.bin命令使其獲得可執行權限
4.通過 rpm –ivh jdk-1_5_x-rc-linux-i586-rpm.bin來進行安裝
5.安裝完畢,JDK安裝在/usr/java/目錄下
6.設置環境變量(寫入/etc/profile中)
export JAVA_HOME = /usr/java/jdk1.5
export PATH = $PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export CLASSPATH=.:/usr/java/jdk1.5/lib:/usr/java/jdk1.5/jre/lib:$CLASSPATH
okay了鍵入 java -version 如果出現相關JDK版本信息,證明成功.
為了開發方便,俺又下了個ECLIPSE做IDE,這樣以後在LINUX也可以做JAVA開發了,真好
ECLIPSE的安裝就簡單多了,下來(一個zip壓縮包)後直接unzip到你想要的目錄即可,我將其解壓到/opt下了。