一.vsftpd說明html
LINUX下實現FTP服務的軟件不少,最多見的有vsftpd,Wu-ftpd和Proftp等.Red Hat Enterprise Linux中默認安裝的是vsftpd.linux
訪問FTP服務器時須要通過驗證,只有通過了FTP服務器的相關驗證,用戶才能訪問和傳輸文件.vsftpd提供了3種ftp登陸形式:windows
1、anonymous(匿名賬號)centos
使用anonymous是應用普遍的一種FTP服務器.若是用戶在FTP服務器上沒有賬號,那麼用戶能夠以anonymous爲用戶名,以本身的電子郵件地址爲密碼進行登陸.當匿名用戶登陸FTP服務器後,其登陸目錄爲匿名FTP服務器的根目錄/var/ftp.爲了減輕FTP服務器的負載,通常狀況下,應關閉匿名賬號的上傳功能.服務器
2、real(真實賬號)工具
real也稱爲本地賬號,就是以真實的用戶名和密碼進行登陸,但前提條件是用戶在FTP服務器上擁有本身的賬號.用真實賬號登陸後,其登陸的目錄爲用戶本身的目錄,該目錄在系統創建賬號時系統就自動建立.server
3、guest(虛擬賬號)htm
若是用戶在FTP服務器上擁有賬號,但此賬號只能用於文件傳輸服務,那麼該賬號就是guest,guest是真實賬號的一種形式,它們的不一樣之處在於,geust登陸FTP服務器後,不能訪問除宿主目錄之外的內容.blog
2、安裝和使用get
1、安裝ftp服務器工具
環境是centos6.0,安裝的「vsftpd-2.2.2-6.el6.x86_64.rpm」
2、開啓vsftp server服務,檢查ftp端口是否打開
/etc/init.d/vsftpd start
netstat -lpnt | grep vsftpd,能夠看到使用21端口進行通訊。
3、安裝ftp客戶端工具
環境是windows xp,安裝了FlashFXP。
4、使用下載功能
在linux端,touch /var/ftp/pub/file_linux;
使用FlashFXP,登錄服務器端,使用匿名用戶訪問,默認訪問目錄/var/ftp/pub,能夠看到file_linux,而且能夠下載到windows客戶端上。
5、使用上傳功能
經過windows客戶端嘗試上傳文件到linux的/var/ftp/pub目錄下,FlashFXP工具報出失敗信息「553 could not create file」。
write_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
更多配置文件參數說明見http://www.cnblogs.com/hnrainll/archive/2011/02/16/1956538.html
getsebool命令能夠查看當前Selinux是否禁止。若是未禁用,網上有不少說明如何禁用。
ll /var/ftp
drwxr-xr-x. 3 root root 4096 Jun 3 14:51 pub
說明此目錄當前屬主是root,因此匿名訪問的用戶只具備讀和執行權限,沒有寫權限。
有兩種方式能夠解決:
A:設置pub目錄爲777的權限,chmod -R 777 pub
B:在pub目錄下建立子目錄,設置子目錄屬主爲ftp用戶。
先檢查系統是否有ftp用戶,通常默認會建立。
cat /etc/passwd | grep ftp
ftp:x:107:65534::/home/ftp:/bin/false
mkdir /var/ftp/pub/upload
chown ftp:root /var/ftp/pub/upload
6、修改默認根目錄。
vsftpd服務使用匿名用戶登陸時,默認根目錄爲/var/ftp/pub,添加用戶後登陸的默認根目錄多是其家目錄(未試過)。若須要設置爲/mnt/vg,可加入以下:
anon_root=/var/www/html #針對匿名用戶
====如下針對其它ftp用戶,未試過==========
local_root=/var/www/html
chroot_local_user=YES
註解:(修改FTP目錄後也要修改FTP帳戶權限目錄 不然會出現無權限錯誤提示)
七、與smb共享數據
smb匿名用戶爲nobody,所以smb目錄,ftp用戶沒法寫入數據。
解決方法
8、更多使用例子
http://www.cnblogs.com/hnrainll/archive/2011/02/16/1956536.html