首先在linux服務器上安裝ftp
[root@host2 test]# yum -y install ftp vsftpd [root@host2 test]# service vsftpd start [root@host2 test]# chkconfig vsftpd --list [root@host2 test]# /etc/init.d/iptables stop [root@host2 test]# ftp 192.168.0.142 #自己本機地址 Connected to 192.168.0.142 (192.168.0.142). 220 (vsFTPd 2.2.2) Name (192.168.0.142:root): ftp #用戶名:ftp 331 Please specify the password. Password: #密碼為空 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> cd pub 250 Directory successfully changed. ftp> put /root/test/test.txt local: /root/test/test.txt remote: /root/test/test.txt 227 Entering Passive Mode (192,168,0,142,140,140). 550 Permission denied. ftp> quit 221 Goodbye.
直接安裝起服務,使用匿名登錄后,上傳文件會提示拒絕訪問,這時我們需要修改一些文件
[root@host2 test]# getsebool -a | grep ftp allow_ftpd_anon_write --> off allow_ftpd_full_access --> off allow_ftpd_use_cifs --> off allow_ftpd_use_nfs --> off ftp_home_dir --> off ………… [root@host2 test]# setsebool -P allow_ftpd_anon_write 1 //-P是永久保存生效 [root@host2 test]# setsebool -P allow_ftpd_full_access 1 [root@host2 test]# setsebool -P ftp_home_dir 1 [root@host2 test]# getsebool -a | grep ftp allow_ftpd_anon_write --> on allow_ftpd_full_access --> on allow_ftpd_use_cifs --> off allow_ftpd_use_nfs --> off ftp_home_dir --> on ………… [root@host2 ]# vim /etc/vsftpd/vsftpd.conf //修改配置參數 anon_mkdir_write_enable=YES //匿名可創建目錄 anon_other_write_enable=YES //匿名刪除,重命名 anon_upload_enable=YES //匿名用戶是否可以上傳文件 [root@host2 ]#service vsftpd restart [root@host2 ftp]#cd /var/ftp [root@host2 ftp]mkdir ftp_test [root@host2 ftp]chown ftp:root ftp_test //修改用戶屬主
然后就可以測試了~~
在我的電腦地址欄輸入:ftp://192.168.0.142/ftp_test/
匿名新建文件上傳文件,重命名和刪除都可以了
如果出現550的報錯,代表的是服務端的權限設置有問題,553的話就是配置文件有問題
附錄:/etc/vsftpd/vsftpd.conf配置參數
重點字段意義: anonymous_enable=YES #開啟匿名共享
local_enable=YES #開啟本地賬戶共享
write_enable=YES #本地賬戶是否可寫
anon_upload_enable=YES #匿名用戶是否可以上傳文件
anon_mkdir_write_enable=YES #匿名可創建目錄
anon_other_write_enable=YES #匿名刪除,重命名
chroot_local_user #禁錮本地賬戶
anon_root=/abc #定義匿名用戶根目錄為/abc目錄
anon_umask=022 #定義匿名用戶上傳的掩碼值
listen_address=192.168.0.5 #定義監聽地址為192.168.0.5
listen_port=端口號
listen_address=IP地址
max_clients=最大並發連接數
max_per_ip=同一IP地址的最大並發連接數
anon_max_rate=匿名用戶訪問速度(字節/秒)
local_max_rate=本地用戶訪問速度(字節/秒)
在字段userlist_enable=YES或NO //是否開啟user_list文件
在字段userlist_deny=NO時user_list是白名單
/etc/vsftpd/ftpusers(黑名單)
/etc/vsftpd/user_list(黑/白名單)
默認的vsftpd服務:
允許匿名FTP訪問,只能下載不能上傳 【/var/ftp/】
允許本地用戶FTP訪問,既可以下載,也可以上傳 【~用戶名】