1. 安裝 使用chkconfig --list來查看是否裝有vsftpd服務; 使用yum命令直接安裝:yum -y install vsftpd 而後爲它建立日誌文件:touch /var/log/vsftpd.log 這樣簡單的兩個命令就完成了vsftp的安裝,可是若是你如今想這樣ftp://your_ip來訪問的話,那還不行,還須要配置權限! 2. 啓動與配置自啓動 使用chkconfig --list來查看vsftpd服務啓動項狀況; 若是看到的是以下顯示的結果: vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off 服務所有都是off的,注意這裏的off表示的是服務器啓動的時候是否會自啓動服務,咱們使用以下命令來配置其自啓動: chkconfig --level 2345 vsftpd on #2345對應的是上面對應的0-6項 查看與管理ftp服務: 啓動ftp服務:service vsftpd start 查看ftp服務狀態:service vsftpd status 重啓ftp服務:service vsftpd restart 關閉ftp服務:service vsftpd stop 3. 配置vsftp服務 編輯/etc/vsftpd/vsftpd.conf文件,配置vsftp服務: #vi /etc/vsftpd/vsftpd.conf 3.1 編輯修改以下項目: anonymous_enable=NO #設定不容許匿名訪問 local_enable=YES #設定本地用戶能夠訪問。注:如使用虛擬宿主用戶,在該項目設定爲NO的狀況下全部虛擬用戶將沒法訪問。 chroot_list_enable=YES #使用戶不能離開主目錄 xferlog_file=/var/log/vsftpd.log #設定vsftpd的服務日誌保存路徑。注意,該文件默認不存在。必需要手動touch出來 ascii_upload_enable=YES #容許使用ASCII模式上傳 ascii_download_enable=YES #設定支持ASCII模式的上傳和下載功能。 pam_service_name=vsftpd #PAM認證文件名。PAM將根據/etc/pam.d/vsftpd進行認證 如下這些是關於Vsftpd虛擬用戶支持的重要CentOS FTP服務配置項目。默認vsftpd.conf中不包含這些設定項目,須要本身手動添加RHEL/CentOS FTP服務配置。 guest_enable=YES #設定啓用虛擬用戶功能。 guest_username=ftp #指定虛擬用戶的宿主用戶。-RHEL/CentOS中已經有內置的ftp用戶了 user_config_dir=/etc/vsftpd/vuser_conf #設定虛擬用戶我的vsftp的RHEL/CentOS FTP服務文件存放路徑。存放虛擬用戶個性的CentOS FTP服務文件(配置文件名=虛擬用戶名) 3.2 建立chroot list,將ftp用戶加入其中: touch /etc/vsftpd/chroot_list echo ftp >> /etc/vsftpd/chroot_list 3.3 進行認證: 首先,安裝Berkeley DB工具,不少人找不到db_load的問題就是沒有安裝這個包。 yum install db4 db4-utils 而後,建立用戶密碼文本/etc/vsftpd/vuser_passwd.txt ,注意奇行是用戶名,偶行是密碼 ftpuser1 ftppass1 ftpuser2 ftppass2 接着,.生成虛擬用戶認證的db文件 db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db 隨後,編輯認證文件/etc/pam.d/vsftpd,所有註釋掉原來語句 再增長如下兩句 auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd account required pam_userdb.so db=/etc/vsftpd/vuser_passwd 最後,建立虛擬用戶個性RHEL/CentOS FTP服務文件 mkdir /etc/vsftpd/vuser_conf/ vi /etc/vsftpd/vuser_conf/ftpuser1 內容以下: local_root=/opt/var/ftp1 虛擬用戶的根目錄(根據實際修改) write_enable=YES 可寫 anon_umask=022 掩碼 anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES 4. 爲目錄附權限並重啓動vsftp服務: mkdir /opt/var/ftp/ftpuser1 chmod 777 /opt/var/ftp/ftpuser1 service vsftpd restart 5. 常見問題: 5.1 553 Could not create file 通常都是SELinux的問題,設置SELinux的一個值,重啓服務器便可。 setsebool -P ftpd_disable_trans 1 service vsftpd restart 5.2 500 OOPS: bad bool value in config file for: write_enable 注意你的CentOS FTP服務文件中保證每一行最後沒有任何空格,通常出錯就是在多餘的空格上。 5.3 虛擬用戶上傳後默認權限爲:600,用戶沒法下載文件 在配置文件中添加或修改anon_umask項的值。如anon_umask=022或000 6. 使用命令添加ftp用戶(與3.3相似) 6.1 添加ftp用戶,命令格式: #adduser -d /目錄路徑 -g ftp -s /sbin/nologin 用戶名 如使用:#adduser -d /opt/dongge -g ftp -s /sbin/nologin dongge 增長了一個名爲dongge的用戶,它的目錄屬於/opt/dongge下面,屬於ftp用戶組。此用戶是不能夠登錄咱們終端服務器的。 6.2 添加密碼: #passwd dongge 設置用戶名爲FTPUSER的用戶在目錄下能夠讀寫的權限 #chown -R dongge:ftp /opt/dongge/ 6.3 目錄掛載: 若是咱們想把/opt/dongge目錄掛到咱們的ftp目錄下面,可使用mount命令 #mount –-bind /opt/dongge /var/ftp/dongge 這樣咱們就完成了添加用戶與掛載目錄的配置。 7. 支持http下載 編輯/etc/httpd/conf/httpd.conf文件: #vi /etc/httpd/conf/httpd.conf 添加以下代碼: Alias /fileshare "/var/ftp/ftpuser1" <Directory "/var/ftp/ftpuser1"> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all </Directory> 重啓httpd服務,便可使用http://your_ip/fileshare來訪問並下載所須要文件:) 8. 偷懶vsftp的配置方法 完成步驟1,2,3.1後,直接將以下代碼添加到/etc/vsftpd/vsftpd.conf文件中: write_enable=YES 可寫 anon_umask=022 掩碼 anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES 重啓vsftpd服務便可