VSFTP 服務檢視及問題排查
阿新 • • 發佈:2019-01-07
簡介:
vsftpd是目前Linux最好的FTP伺服器工具之一,其中的vs就是“Very Secure”(很安全)的縮寫,可見它的最大優點就是安全,除此之外,它還具有體積小,可定製強,效率高的優點。
基本問題排查方法:
1, 檢視是否安裝vsftpd服務,沒有則安裝。
如果選擇完全安裝Red Hat Linux 9.0,則系統會預設安裝vsftpd伺服器。我們可以在終端命令視窗輸入以下命令進行驗證: [[email protected] local]# rpm -qa |grep vsftpd vsftpd-2.2.2-11.el6.x86_64 則說明系統已經安裝vsftpd伺服器。如果安裝Red Hat Linux 9.0時沒有選擇vsftpd伺服器,則可以在圖形環境下單擊“主選單→系統設定→新增刪除應用程式”選單項,在出現的“軟體包管理”對話方塊裡確保選中 “FTP伺服器”選項,然後單擊“更新”按鈕,按照螢幕提示插入第3張安裝光碟即可開始安裝。 另外,你也可以直接插入第3張安裝光碟,定位到/RedHat/RPMS下的vsftpd-1.1.3-8.i386.rpm安裝包,然後在終端命令視窗執行以下命令即可開始安裝程序: 2,命令不對:
vsftpd start
500 OOPS: cannot read config file: start
可以用:service vsftpd start
selinux關閉了沒有
沒關,改為disabled, setenforce 0不重啟使之生效
再重新啟動vsftpd,OK,正常了
檢視SELinux狀態:
1、/usr/sbin/sestatus -v ##如果SELinux status引數為enabled即為開啟狀態
SELinux status: enabled
2、getenforce ##也可以用這個命令檢查
關閉SELinux:
1、臨時關閉(不用重啟機器):
setenforce 0 ##設定SELinux 成為permissive模式
##setenforce 1 設定SELinux 成為enforcing模式
2、修改配置檔案需要重啟機器:
修改/etc/selinux/config 檔案
將SELINUX=enforcing改為SELINUX=disabled
重啟機器即可
3,連線到ftp伺服器,執行命令報錯:
500 OOPS: cannot open config file:/etc/vsftpd/vsftpd.conf
解決方法可以參照:
本人是通過更新vsftpd配置檔案 vsftpd.user_list 新增使用者到該檔案中。解決該問題。出現這個問題是當前的這個ftp使用者沒有許可權執行命令。
主要可以從使用者許可權解決問題入手。
具體vsftpd相關配置如下:
如果是預設安裝vsftpd的話,以下是一些檔案的位置約定:
/usr/sbin/vsftpd ---- VSFTPD的主程式
/etc/rc.d/init.d/vsftpd ---- 啟動指令碼
/etc/vsftpd/vsftpd.conf ---- 主配置檔案
/etc/pam.d/vsftpd ---- PAM認證檔案
/etc/vsftpd.ftpusers ---- 禁止使用VSFTPD的使用者列表檔案
/etc/vsftpd.user_list ---- 禁止或允許使用VSFTPD的使用者列表檔案
/var/ftp ---- 匿名使用者主目錄
/var/ftp/pub ---- 匿名使用者的下載目錄
4,上傳檔案報錯:
ftp> put /tmp/1AUUJPGQF01ND08210AC00002E2708EB_130605000003945.html /pub/1AUUJPGQF01ND08210AC00002E2708EB_130605000003945.html
local: /tmp/1AUUJPGQF01ND08210AC00002E2708EB_130605000003945.html remote: /pub/1AUUJPGQF01ND08210AC00002E2708EB_130605000003945.html
227 Entering Passive Mode (172,16,123,72,88,233).
553 Could not create file.
上面這個問題是使用者沒有寫的許可權:
使用一個客戶端,可以正常的連線,但是當上傳檔案時,總是報553 Could not create file錯誤資訊。
我也是按照網上的做法,對/var/ftp目錄進行許可權設定,如果設定為chmod -R 777 /var/ftp
還會導致ftp伺服器不能啟動,經過摸索,終於找到了解決的方法。
首先在ftp的目錄中建立一個目錄,然後設定許可權為777
$ sudo mkdir /var/ftp/write
$sudo chmod -R 777 /var/ftp/write
然後修改vsftp的配置檔案/etc/vsftpd.conf檔案
在最後新增上
local_root=/var/ftp
儲存,然後殺死vsftpd程序,然後重啟vsftpd伺服器程式。
200 PORT command successful. Consider using PASV.
553 Could not create file.
當用的使用者沒有建立資料夾的許可權
chown -R username 資料夾可以了。
如果選擇完全安裝Red Hat Linux 9.0,則系統會預設安裝vsftpd伺服器。我們可以在終端命令視窗輸入以下命令進行驗證: [[email protected] local]# rpm -qa |grep vsftpd vsftpd-2.2.2-11.el6.x86_64 則說明系統已經安裝vsftpd伺服器。如果安裝Red Hat Linux 9.0時沒有選擇vsftpd伺服器,則可以在圖形環境下單擊“主選單→系統設定→新增刪除應用程式”選單項,在出現的“軟體包管理”對話方塊裡確保選中 “FTP伺服器”選項,然後單擊“更新”按鈕,按照螢幕提示插入第3張安裝光碟即可開始安裝。 另外,你也可以直接插入第3張安裝光碟,定位到/RedHat/RPMS下的vsftpd-1.1.3-8.i386.rpm安裝包,然後在終端命令視窗執行以下命令即可開始安裝程序: 2,命令不對: