LNS FTP配置
1.可以安裝VSFTP服務器軟件包
2.正確配置vsftpd.conf文件
3.配置vsftpd.conf對用戶的限制
4.啓動vsftpd服務
5.使客戶機能夠登陸FTP服務器。
=====================================================================
1.vsftpd的安裝須要注意如下幾點RHEL4系統中默認沒有安裝vsftpd服務器 vsftpd服務器的安裝文件位於第1張安裝光盤中安裝文件名稱是
vsftpd-2.0.1-5.i386.rpm
使用rpm命名可順利安裝該軟件包
rpm -ivh vsftpd-2.0.1-5.i386.rpm
2.vsftpd.conf是vsftpd服務器的主配置文件
/etc/vsftpd/vsftpd.conf
vsftpd.conf文件中的缺省配置爲:
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
pam_service_name=vsftpd
userlist_enable=YES
listen=YES
tcp_wrappers=YES
3.vsftpd.ftpusers用於保存不容許進行FTP登陸的本地用戶賬號
# head -5 /etc/vsftpd.ftpusers
# Users that are not allowed to login via ftp
root
bin
daemon
adm
vsftpd.ftpusers文件中可禁止高權限本地用戶登陸FTP服務器,提升了系統的安全性
vsftpd.user_list文件具備對vsftpd服務器更靈活的用戶訪問控制
/etc/vsftpd.user_list
使用vsftpd.user_list文件須要在主配置文件中進行設置
設置禁止vsftpd.user_list文件中的用戶登陸
userlist_enable=YES
userlist_deny=YES
設置只容許vsftpd.user_list文件中的用戶登陸
userlist_enable=YES
userlist_deny=NO
vsftpd服務器提供匿名用戶登陸的功能
匿名用戶使用的登陸用戶名
anonymous
ftp
匿名FTP用戶登陸的口令一般是使用用戶的E-mail地址,在vsftpd中輸入任何字符串或直接回車均可以登陸
全部匿名用戶都登陸到相同的目錄中
/var/ftp
FTP服務器的匿名登陸可用於構建公共的文件下載服務器
4.服務器啓動腳本
啓動腳本名稱是vsftpd
/etc/init.d/vsftpd
vsftpd服務須要設置在運行級別3和5自動啓動
# chkconfig --level 35 vsftpd on
服務器啓動
# service vsftpd start
服務器中止
# service vsftpd stop
服務器狀態查詢
# service vsftpd status
==================================
vsftpd虛擬用戶賬號的設置步驟
1.創建虛擬用戶口令庫文件
2.生成vsftpd的認證文件
3.創建虛擬用戶所需的PAM配置文件
4.創建虛擬用戶所要訪問的目錄並設置相應權限
5.設置vsftpd.conf配置文件
1.創建虛擬用戶口令庫文件
口令庫文件中奇數行設置用戶名,偶數行設置口令
# cat logins.txt
mike
pwabcd
john
pw1234
2.生成vsftpd的認證文件
使用db_load命令生成認證文件
# db_load -T -t hash -f logins.txt \
/etc/vsftpd/vsftpd_login.db
設置認證文件只對用戶可讀可寫
# chmod 600 /etc/vsftpd/vsftpd_login.db
3.創建虛擬用戶所需的PAM配置文件
手工創建vsftpd.vu文件
# cat /etc/pam.d/vsftpd.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
創建虛擬用戶及要訪問的目錄並設置相應的權限
創建全部FTP虛擬用戶賬號使用的系統用戶賬號,並設置該賬號宿主目錄的權限
# useradd -d /home/ftpsite virtual
# chmod 700 /home/ftpsite/
4.設置vsftpd.conf配置文件
在配置文件中添加虛擬用戶的配置內容
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu
從新啓動vsftpd服務程序
對vsftpd.conf文件修改後須要從新啓動vsftpd服務程序
# service vsftpd restart
對虛擬用戶設置不一樣的權限
設置主配置文件
在vsftpd.conf文件中添加用戶配置文件目錄設置
user_config_dir=/etc/vsftpd_user_conf
創建用戶配置文件目錄
使用mkdir命令創建用戶配置文件目錄
# mkdir /etc/vsftpd_user_conf
爲虛擬用戶創建單獨的配置文件
用戶配置文件名稱與用戶名相同
/etc/vsftpd_user_conf/mike
/etc/vsftpd_user_conf/john
每一個FTP虛擬用戶均可以獨立設置其權限
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
vsftpd服務器中的資源使用能夠進行限制
max_clients=100
max_per_ip=5
local_max_rate=500000
anon_max_rate=200000
Vsftpd常見問題解決方案
若是在 Client 端上面發現沒法聯機成功,請檢查:
iptables 防火牆的規則當中,是否開放了 client 端的 port 21 登入?
在 /etc/hosts.deny 當中,是否將 client 的登入權限擋住了?
在 /etc/xinetd.d/vsftpd 當中,是否設定錯誤,致使 client 的登入權限被取消了?
若是 Client 已經連上 vsftpd 服務器,可是卻顯示『 XXX file can't be opend 』的字樣,請檢查:
最主要的緣由仍是在於在 vsftpd.conf 當中設定了檢查某個檔案,可是您卻沒有將該檔案設定起來,因此,請檢查 vsftpd.conf 裏面全部設定的檔案檔名,使用 touch 這個指令將該檔案創建起來便可!
若是 Client 已經連上 vsftpd 服務器,卻沒法使用某個帳號登入,請檢查:
在 vsftpd.conf 裏面是否設定了使用 pam 模塊來檢驗帳號,以及利用 userlist_file 來管理帳號?
請檢查 /etc/vsftpd.ftpusers 以及 /etc/vsftpd.user_list 檔案內是否將該帳號寫入了?!
若是 Client 沒法上傳檔案,該如何是好?
最可能發生的緣由就是在 vsftpd.conf 裏面忘記加上這個設定『write_enable=YES』這個設定,請加入;
是否所要上傳的目錄『權限』不對,請以 chmod 或 chown 來修訂;
是否 anonymous 的設定裏面忘記加上了底下三個參數:
anon_other_write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
是否由於設定了 email 抵擋機制,又將 email address 寫入該檔案中了!?請檢查!
是否設定了不準 ASCII 格式傳送,但 Client 端卻以 ASCII 傳送呢?請在 client 端以 binary 格式來傳送檔案!
上面是蠻常發現的錯誤,若是仍是沒法解決您的問題,請您務必分析一下這兩個檔案:/var/log/vsftpd.log 與 /var/log/messages ,裏面有至關多的重要資料,能夠提供給您進行除錯。