匿名用戶 /var/ftp
本地用戶 /home/username
配置vsftpd時,強烈建議
·# cp /etc/vsftpd.conf /etc/vsftpd.conf1 //備份,vsftpd.conf是個比較苛刻的主文件,修改時不當心在有效行後加一個空格就會使服務啓用失敗
# diff /etc/vsftpd.conf /etc/vsftpd.conf1 //文件內容比較
·作一步,重啓一下,測試
# vi /etc/vsftpd.conf
anonymous_enable=YES // :7 ,匿名賬戶可登錄
local_enable=YES // :10 ,本地賬戶能夠登錄
write_enable=YES // :13 ,用戶經過ftp在服務器上是否有寫權限
local_umask=022 // :17 ,建立時默認權限。文件夾=777-umask,文件=666-umask
anon_upload_enable=YES // :22 ,容許匿名賬戶上傳
anon_mkdir_write_enable=YES // :26 ,容許匿名賬戶建立文件夾
chown_uploads=YES // :41 ,開啓匿名賬戶上傳自動更改所屬功能
chown_username=bob // :42 ,屬主改成bob
idle_session_timeout=600 // :52 ,空閒會話超時時間
ascii_upload_enable=YES // :76 ,以ASCII方式上傳
ftpd_banner=Welcome to blah FTP service. // :80 ,歡迎界面
chroot_list_enable=YES // :91 ,開啓用戶更改根目錄功能,默認爲禁用更改根
chroot_list_file=/etc/vsftpd.chroot_list // :93 ,該文件中全部用戶沒法更改根
查看文件其它參數 # man vsftpd.conf
anon_other_write_enable=YES // 容許匿名賬戶刪除、重命名
anon_root=/ftp // 更改匿名賬戶根目錄,默認爲"/var/ftp"
local_root=/local // 更改本地賬戶根目錄爲/local,默認爲用戶主目錄~
userlist_enable=YES // 開啓用戶列表功能
userlist_deny=YES // 用戶列表文件中全部賬戶全拒絕。NO時,只有列表中用戶能登錄
userlist_file=/etc/vsftpd.user_list // 用戶列表文件
anon_max_rate=0 // 匿名用戶最大傳輸速率,0爲無限
local_max_rate=0 // 本地用戶最大傳輸速率,0爲無限
max_clients=0 // 最大客戶端鏈接數,0爲無限
pasv_max_port=0 // 客戶端端口最大限制,0爲無限制
pasv_min_port=0 // 客戶端端口最小限制,0爲無限制
測試:
方法1、IE(不建議)
方法2、cmd(強烈推薦),有回顯提示。
ftp經常使用測試命令
? 幫助
bye 退出
quit 退出
exit 退出(僅linux客戶端)
cd 服務器端路徑更改
lcd 本地路徑更改
pwd 顯示服務器端當前路徑
dir 顯示服務器端當前目錄中內容(顯示權限)
ls 顯示服務器端當前目錄中內容(在linux中使用時也顯示權限)
put 上傳
get 下載
mkdir 建文件夾
rmdir 刪除文件夾
rename 重命名
delete 刪除文件
實驗1、針對於本地用戶的設置
一、限定只有本地賬戶能登錄,匿名賬戶沒法登錄
二、本地賬戶bob不能夠更改自已主目錄之外的其餘目錄
三、在本地賬戶中只有bob能登錄,alice不能登錄
四、本地賬戶能夠上傳文件,以ASCII方式上傳
五、登錄時顯示歡迎信息「Welcome to my ftp site」
# vi /etc/vsftpd.conf
anonymous_enable=NO // 一、:7;需改
local_enable=YES // 一、:10;默認,確認
230 Login successful. Have fun. 驗證:登錄成功提示
Login failed. 驗證:登錄失敗提示
chroot_list_enable=YES // 二、:91;需刪除開頭#號註釋
chroot_list_file=/etc/vsftpd.chroot_list // 二、:93;需刪除開頭#號註釋
ftp> pwd
257 "/" 驗證:成功顯示
257 "/home/bob" 驗證:改以前顯示
userlist_enable=YES // 三、添加
userlist_deny=NO // 三、添加
userlist_file=/etc/vsftpd.user_list // 三、添加
write_enable=YES // 四、:13;默認,確認
ascii_upload_enable=YES // 四、:76;需刪除開頭#號註釋
ftpd_banner=Welcome to my ftpsite // 五、:80;需刪除開頭#號註釋,需修改
x: > ftp 192.168.1.201
Connected to 192.168.1.201.
220 Welcome to my ftp site 驗證:未登錄提示
# echo bob >> /etc/vsftpd.user_list // 三、添加新行bob
# echo bob > /etc/vsftpd.chroot_list // 二、需存在該文件
# chkconfig vsftpd on // 超級守護當即啓動、開機自動啓動
# service xinetd restart // 重啓vsftpd服務
測試:
x: > ftp linux.wnt.com.cn
實驗2、針對於匿名賬戶的設置
一、只有匿名賬戶能夠登錄
二、在FTP目錄下建立incoming目錄
三、容許匿名訪問,但不容許在ftp目錄中建立,刪除
四、容許匿名用戶在incoming目錄中上傳,建立,刪除目錄。
五、匿名賬戶上傳的文件,自動變爲alice所屬
六、用戶空閒600秒自動中斷
七、匿名賬戶最大傳輸速率50kbytes/sec
八、客戶端口鏈接範圍50000到60000
# vi /etc/vsftpd.conf
anonymous_enable=YES // 一、:7或「/anonymous」 確認
local_enable=NO // 一、:10或「/local」 修改
anon_upload_enable=YES // 四、:22或「/upload」 刪除註釋
anon_mkdir_write_enable=YES // 四、:26或「/mkdir」 刪除註釋
anon_other_write_enable=YES // 四、:27 添加
chown_uploads=YES // 五、:41或「/chown」 刪除註釋
chown_username=alice // 五、:42 刪除註釋,再修改
idle_session_timeout=600 // 六、:52或「session」 刪除註釋
anon_max_rate=50000 // 七、 添加
pasv_min_port=50000 // 八、 添加
pasv_max_port=60000 // 八、 添加
# mkdir /var/ftp/incoming // 二、
# chmod go+w /var/ftp/incoming // 四、 g(group)組、o(other)其它人全有寫權限
# chkconfig vsftpd on ==> # service xinetd restart
實驗3、針對於超級守護的安全性限制(8。0版本可配,因9。0後vsftpd改成獨立守護進程不能用此方法)
一、限定192.168.1.0/24能訪問
二、10.0.0.0不能訪問
三、每一個客戶機最大鏈接數1
四、服務器最大鏈接數200
五、只有13:00到17:00期間能訪問ftp服務器
# vi /etc/xinetd.d/vsftpd
only_from = 192.168.1.0 // 一、添加在括號內
no_access = 10.0.0.0 // 二、添加在括號內
per_source = 1 // 三、添加在括號內
instances = 200 // 四、添加在括號內
access_times = 13:00-17:00 // 五、添加在括號內
ftp客戶鏈接常見故障現象
現象0:
> ftp: connect :鏈接被拒絕
緣由: 服務沒啓動
解決: # chkconfig vsftpd onlinux
現象1:
500 OOPS: cannot open user list file
緣由: 不存在文件「/etc/vsftpd.user_list」或文件中不存在該賬戶
解決: # echo username >> /etc/vsftpd.user_list安全
現象2:
530 Permission denied.
Login failed.
緣由: 「/etc/vsftpd.user_list」文件中不存在當前登錄用戶
解決: # echo username >> /etc/vsftpd.user_list服務器
現象3:
500 OOPS: cannot open chroot() user list file
Login failed.
緣由: 不存在文件「/etc/vsftpd.chroot_list」
解決: # echo username >> /etc/vsftpd.chroot_listsession
現象4:
500 OOPS: missing value in config file
Connection closed by remote host.
緣由: 「=」等號前值有問題,或只有一個空格
解決: 修正相應的值便可,可能過 diff 來比較查找測試
現象5:
500 OOPS: bad bool value in config file
Connection closed by remote host.
緣由: 「=」等號後值有問題
解決: 將「=」等號後值確認修改ui
現象6:
500 OOPS: unrecognised variable in config file
Connection closed by remote host.
緣由: 參數前有空格
解決: 將參數前空格刪除rest
現象七、
確認存在「local_enable=YES」,但本地用戶沒法登錄
緣由: 驗證參數被誤刪除
解決: 添加「pam_service_name=vsftpd」進程
現象八、
500 OOPS: chdir
500 OOPS: child died
Connection closed by remote host.
緣由: 用戶主目錄沒有權限或沒有主目錄
解決: 正確設置用戶主目錄權限ci
500 OOPS: vsFtpd :refusing to run with writable anonymous rootrem
指的是ftp的主目錄不能爲777權限,如:/var/ftp 此目錄的權限爲775便可