注意:本文出自 “阿飛”的部落格 ,如果要轉載本文章,請與作者聯絡!並註明來源: http://blog.csdn.net/faye0412/archive/2011/03/26/6280750.aspx
一般我們在安裝完系統後都會自動安裝了vsftp服務了,但是有時候還是得需要自己動手的,比如這兩天就在給我朋友配置了一下,順手把過程記錄下來,以便需要的時候查閱或者給需要的朋友提供方便:)
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_listecho ftp >> /etc/vsftpd/chroot_list
3.3 進行認證: 首先,安裝Berkeley DB工具,很多人找不到db_load的問題就是沒有安裝這個包。yum install db4 db4-utils然後,建立使用者密碼文本/etc/vsftpd/vuser_passwd.txt ,注意奇行是使用者名稱,偶行是密碼ftpuser1ftppass1ftpuser2ftppass2接著,.產生虛擬使用者認證的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_passwdaccount 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=YESanon_other_write_enable=YES
4. 為目錄附許可權並重啟動vsftp服務:mkdir /opt/var/ftp/ftpuser1chmod 777 /opt/var/ftp/ftpuser1service 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=YESanon_other_write_enable=YES
重啟vsftpd服務即可:)簡單吧,呵呵呵本文新浪部落格地址為:http://blog.sina.com.cn/s/blog_49fd52cf0100nek9.html