Linux VSFTP 配置詳解 匿名用戶爲例
首先檢查出現的問題; 1. 關閉防火牆 防火牆可能會影響FTP無法連接 2. 檢查網絡是否正常通訊 3. 檢查FTP是否正確安裝驅動 4. 檢查FTP服務是否啓動 5. 檢查FTP vsftpd.conf文件是否有文件上傳權限 6. 檢查是否關閉selinux a) 文件在etc/selinux/config 修改SELINUX=disabled 搞定 7. 檢查用戶所使用的文件目錄是否有寫入或讀取的權限 關閉防火牆: 1:service iptables stop 用於關閉防火牆設置 2.chkconfig iptables off 用於關閉開機啓動 檢查網絡是否正常通訊 1. ping 192.168.56.1(我的主機) 檢查FTP是否安裝了驅動 1. rpm –qa | grep vsftpd 檢查是否安裝了驅動程序 檢查FTP是否啓動了服務 1. service vsftpd start 啓動服務 2. chkconfig vsftpd on 開機正常啓動 3. ftp localhost 測試是否正常 檢查FTP vsftpd.conf 文件是否有文件上傳權限 1. vsftpd.conf 文件在 /etc/vsftpd/ 2. 開啓 vsftpdconf 文件12行 anonymous_enable=YES 3. 開啓 vsftpd.conf 文件27行 anon_upload_enable=YES 4. 開啓 vsftpd.conf 文件31行anon_mkdir_write_enable=YES 檢查是否關閉selinux 1. 文件在 etc/selinux/config 修改SELINUX=disabled 檢查用戶所使用的文件目錄是否有寫入或讀取的權限 1. cd /var/ftp 進入ftp目錄 2. chmod 707 pub 搞定 listen=YES listen_ipv6=YES anonymous_enable=YES 允許匿名登入 local_enable=YES #允許本地用戶登入 write_enable=YES #允許本地用戶修改和刪除 local_umask=022 #FTP上傳文件權限 ,默認是077 anon_upload_enable=YES #允許匿名用戶上傳 anon_mkdir_write_enable=YES #允許匿名用戶的寫和創建目錄的權限 xferlog_enable=YES #激活上傳和下載的日誌 connect_from_port_20=YES #啓動FTP數據端口的連接請求 chown_uploads=YES #上傳後改變宿主 chown_username=whoever #改變上傳文件的所有着爲whoever xferlog_file=/var/log/vsftpd.log #上傳/下載日誌文件所默認的路徑 xferlog_std_format=YES #使用標準的ftpd xferlog日誌格式 idle_session_timeout=600 #將在用戶會話空閒10分鐘後被中斷 data_connection_timeout=120 #將在數據連接空閒2分鐘後被中斷 nopriv_user=ftpsecure #運行vsftpd需要的非特殊系統用戶默認nobody async_abor_enable=YES #是否允許運行特殊的FTP命令async ascii_upload_enable=YES #啓用上傳的ascii傳輸方式 ascii_download_enable=YES #啓用下載的ascii傳輸方式 ftpd_banner=Welcome to blah FTP service. #用戶連接服務器後顯示信息 deny_email_enable=YES #是否允許某些匿名用戶使用郵件地址(默認的) banned_email_file=/etc/vsftpd.banned_emails #如果是輸入禁止的郵件地址的路徑和名 chroot_local_user=YES #限定用戶在跟目錄 chroot_list_enable=YES #(默認的) chroot_list_file= /etc/vsftpd.chroot_list #文件格式爲一行一用戶。 local_root=/var/www/web (路徑自定義) #定義所有本地用戶的根目錄。當本地用戶登入時,將被更換到此目錄下。(註釋則訪問該用戶自己目錄) secure_chroot_dir=/var/run/vsftpd #這個選項必須指定一個空的數據夾且任何登入者都不能有寫入的權限,當vsftpd 不需要file system 的權限時,就會將使用者限制在此數據夾中。默認值爲/var/run/vsftpd <strong>當chroot_local_user=NO、chroot_list_enable=YES時,vsftpd.chroot_list中用戶爲鎖定用戶,即他們除了自己的目錄,不可以訪問其他目錄。 當chroot_local_user=YES、chroot_list_enable=YES時,vsftpd.chroot_list中用戶爲非鎖定用戶,他們可以訪問任何其他目錄。</strong> max_clients=100 #FTP服務器最大承載用戶 max_per_ip=5 #限制每個IP的進程 local_max_rate=256000 #最大傳輸速率(b/s) hide_ids=YES #是否隱藏文件的所有者和組信息 idle_session_timeout= 3000 #空閒(發呆)用戶會話的超時時間,若是超出這時間沒有數據的傳送或是指令的輸入,則會強迫斷線。單位爲秒,默認值爲300。 ls_recurse_enable=YES 是否使用ls-R命令已防止浪費大量的服務器資源 secure_chroot_dir=/var/run/vsftpd #這個選項必須指定一個空的數據夾且任何登入者都不能有寫入的權限,當vsftpd 不需要file system 的權限時,就會將使用者限制在此數據夾中。默認值爲/var/run/vsftpd pam_service_name=vsftpd #定義PAM 所使用的名稱,預設爲vsftpd rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem #vsftpd用的rsa證書的位置 rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key #算法鑰匙地址