Vsftpd服務配置、ftp命令、錯誤代碼、日誌格式

一、Vsftpd的配置文件:php


/etc/vsftpd/vsftpd.conf     :主配置文件  linux

/usr/sbin/vsftpd                :Vsftpd的主程序算法

/etc/rc.d/init.d/vsftpd       :啓動腳本shell

/etc/pam.d/vsftpd            :PAM認證文件(此文件中file=/etc/vsftpd/ftpusers字段,指明阻止訪問的用戶來自/etc/vsftpd/ftpusers文件中的用戶apache

/etc/vsftpd/ftpusers         :禁止使用vsftpd的用戶列表文件。記錄不容許訪問FTP服務器的用戶名單,管理員能夠把一些對系統安全有威脅的用戶帳號記錄在此文件中,以避免用戶從FTP登陸後得到大於上傳下載操做的權利,而對系統形成損壞。(注意:linux-4中此文件在/etc/目錄下)安全

/etc/vsftpd/user_list         :禁止或容許使用vsftpd的用戶列表文件。這個文件中指定的用戶缺省狀況(即在/etc/vsftpd/vsftpd.conf中設置userlist_deny=YES)下也不能訪問FTP服務器,在設置了userlist_deny=NO時,僅容許user_list中指定的用戶訪問FTP服務器。(注意:linux-4中此文件在/etc/目錄下  bash

/var/ftp                             :匿名用戶主目錄;本地用戶主目錄爲:/home/用戶主目錄,即登陸後進入本身家目錄  服務器

/var/ftp/pub                     :匿名用戶的下載目錄,此目錄需賦權根chmod 1777 pub(1爲特殊權限,使上載後沒法刪除) 網絡

/var/log/xfer.log              :Vsftpd的日誌文件session



二、vsftpd的主配置文件/etc/vsftpd/vsftpd.conf說明(修改前先備份)

anonymous_enable=YES (是否容許匿名登陸FTP服務器,默認設置爲YES容許,即用戶可以使用用戶名ftp或anonymous進行ftp登陸,口令爲用戶的E-mail地址。如不容許匿名訪問去掉前面#並設置爲NO)
# Uncomment this to allow local users to log in.
local_enable=YES (是否容許本地用戶(即linux系統中的用戶賬號)登陸FTP服務器,默認設置爲YES容許,本地用戶登陸後會進入用戶主目錄,而匿名用戶登陸後進入匿名用戶的下載目錄/var/ftp/pub;若只容許匿名用戶訪問,前面加上#,可阻止本地用戶訪問FTP服務器。)
# Uncomment this to enable any form of FTP write command.
write_enable=YES  (是否容許本地用戶對FTP服務器文件具備寫權限,默認設置爲YES容許)
# Default umask for local users is 077. You may wish to change this to 022,if your users expect that (022 is used by most other ftpd's)
local_umask=022 (或其它值,設置本地用戶的文件掩碼爲缺省022,也可根據我的喜愛將其設置爲其餘值,默認值爲077)
# Uncomment this to allow the anonymous FTP user to upload files. This only has an effect if the above global write enable is activated. Also, you will obviously need to create a directory writable by the FTP user.
anon_upload_enable=YES (是否容許匿名用戶上傳文件,須將write_enable=YES,默認設置爲YES容許)
# Uncomment this if you want the anonymous FTP user to be able to create new directories.
anon_mkdir_write_enable=YES  (是否容許匿名用戶建立新文件夾,默認設置爲YES容許)
# Activate directory messages - messages given to remote users when theygo into a certain directory.
dirmessage_enable=YES (是否激活目錄歡迎信息功能,當用戶用CMD模式首次訪問服務器上某個目錄時,FTP服務器將顯示歡迎信息,默認狀況下,歡迎信息是經過該目錄下的.message文件得到的,此文件保存自定義的歡迎信息,由用戶本身創建)
# Activate logging of uploads/downloads.
xferlog_enable=YES (默認值爲NO若是啓用此選項,系統將會維護記錄服務器上傳和下載狀況的日誌文件,默認狀況該日誌文件爲/var/log/vsftpd.log,也能夠經過下面的xferlog_file選項對其進行設定。)
# Make sure PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=YES (設定FTP服務器將啓用FTP數據端口的鏈接請求,ftp-data數據傳輸,21爲鏈接控制端口)
# If you want, you can arrange for uploaded anonymous files to be owned bya different user. Note! Using "root" for uploaded files is not recommended!-注意,不推薦使用root用戶上傳文件
chown_uploads=YES(設定是否容許改變上傳文件的屬主,與下面一個設定項配合使用)
chown_username=whoever (設置想要改變的上傳文件的屬主,若是須要,則輸入一個系統用戶名,例如能夠把上傳的文件都改爲root屬主。whoever:任何人)
# You may override where the log file goes if you like. The default is shown below.
xferlog_file=/var/log/vsftpd.log(設定系統維護記錄FTP服務器上傳和下載狀況的日誌文件,/var/log/vsftpd.log是默認的,也能夠另設其它)
# If you want, you can have your log file in standard ftpd xferlog format
xferlog_std_format=YES(若是啓用此選項,傳輸日誌文件將以標準xferlog的格式書寫,該格式的日誌文件默認爲/var/log/xferlog,也能夠經過xferlog_file選項對其進行設定,默認值爲NO)
dual_log_enable(若是添加並啓用此選項,將生成兩個類似的日誌文件,默認在/var/log/xferlog和/var/log/vsftpd.log目錄下。前者是wu_ftpd類型的傳輸日誌,能夠利用標準日誌工具對其進行分析;後者是vsftpd類型的日誌)
syslog_enable(若是添加並啓用此選項,則本來應該輸出到/var/log/vsftpd.log中的日誌,將輸出到系統日誌中)
# You may change the default value for timing out an idle session.
idle_session_timeout=600 (設置數據傳輸中斷間隔時間,此語句表示空閒的用戶會話中斷時間爲600秒,即當數據傳輸結束後,用戶鏈接FTP服務器的時間不該超過600秒,能夠根據實際狀況對該值進行修改)
# You may change the default value for timing out a data connection.
data_connection_timeout=120 (設置數據鏈接超時時間,該語句表示數據鏈接超時時間爲120秒,可根據實際狀況對其個修改)
# It is recommended that you define on your system a unique user which the ftp server can use as a totally isolated and unprivileged user.
nopriv_user=ftpsecure (運行vsftpd須要的非特權系統用戶,缺省是nobody)
# Enable this and the server will recognise asynchronous ABOR requests. Not recommended for security (the code is non-trivial). Not enabling it, however, may confuse older FTP clients.
async_abor_enable=YES(若是FTP client會下達「async ABOR」這個指令時,這個設定才須要啓用,而通常此設定並不安全,因此一般將其取消)
# By default the server will pretend to allow ASCII mode but in fact ignore the request. Turn on the below options to have the server actually do ASCII mangling on files when in ASCII mode. Beware that on some FTP servers, ASCII support allows a denial of service
# attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd predicted this attack and has always been safe, reporting the size of the raw file. ASCII mangling is a horrible feature of the protocol.
ascii_upload_enable=YES (大多數FTP服務器都選擇用ASCII方式傳輸數據,將#去掉就能實現用ASCII方式上傳和下載文件)
ascii_download_enable=YES (將#去掉就能實現用ASCII方式下載文件)
# You may fully customise the login banner string:
ftpd_banner=Welcome to blah FTP service. (將#去掉可設置登陸FTP服務器時顯示的歡迎信息,能夠修改=後的歡迎信息內容。另外如在須要設置更改目錄歡迎信息的目錄下建立名爲.message的文件,並寫入歡迎信息保存後,在進入到此目錄會顯示自定義歡迎信息)
# You may specify a file of disallowed anonymous e-mail addresses. Apparently useful for combatting certain DoS attacks.
deny_email_enable=YES(可將某些特殊的email address抵擋住。若是以anonymous登陸服務器時,會要求輸入密碼,也就是您的email address,若是很討厭某些email address,就可使用此設定來取消他的登陸權限,但必須與下面的設置項配合)
# (default follows)
banned_email_file=/etc/vsftpd/banned_emails(當上面的deny_email_enable=YES時,能夠利用這個設定項來規定那個email address不可登陸vsftpd服務器,此文件需用戶本身建立,一行一個email address便可!)
# You may specify an explicit list of local users to chroot() to their home directory. If chroot_local_user is YES, then this list becomes a list of users to NOT chroot().
chroot_list_enable=YES(設置爲NO時,用戶登陸FTP服務器後具備訪問本身目錄之外的其餘文件的權限,設置爲YES時,用戶被鎖定在本身的home目錄中,vsftpd將在下面chroot_list_file選項值的位置尋找chroot_list文件,此文件需用戶創建,再將需鎖定在本身home目錄的用戶列入其中,每行一個用戶)
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list(此文件需本身創建,被列入此文件的用戶,在登陸後將不能切換到本身目錄之外的其餘目錄,由FTP服務器自動地chrooted到用戶本身的home目錄下,使得chroot_list文件中的用戶不能隨意轉到其餘用戶的FTP home目錄下,從而有利於FTP服務器的安全管理和隱私保護)
# You may activate the "-R" option to the builtin ls. This is disabled by default to avoid remote users being able to cause excessive I/O on large  sites. However, some broken FTP clients such as "ncftp" and "mirror" assume the presence of the "-R" option, so there is a strong case for enabling it.
ls_recurse_enable=YES是否容許遞歸查詢,大型站點的FTP服務器啓用此項能夠方便遠程用戶查詢
# When "listen" directive is enabled, vsftpd runs in standalone mode and listens on IPv4 sockets. This directive cannot be used in conjunction  with the listen_ipv6 directive.
listen=YES(若是設置爲YES,則vsftpd將以獨立模式運行,由vsftpd本身監聽和處理鏈接請求)
# This directive enables listening on IPv6 sockets. To listen on IPv4 and IPv6 sockets, you must run two copies of vsftpd whith two configuration files. Make sure, that one of the listen options is commented !! 
listen_ipv6=YES(設定是否支持IPV6)
pam_service_name=vsftpd(設置PAM外掛模塊提供的認證服務所使用的配置文件名,即/etc/pam.d/vsftpd文件,此文件中file=/etc/vsftpd/ftpusers字段,說明了PAM模塊能抵擋的賬號內容來自文件/etc/vsftpd/ftpusers中)
userlist_enable=YES/NO(此選項默認值爲NO ,此時ftpusers文件中的用戶禁止登陸FTP服務器;若此項設爲YES,則user_list文件中的用戶容許登陸   FTP服務器,而若是同時設置了userlist_deny=YES,則user_list文件中的用戶將不容許登陸FTP服務器,甚至連輸入密碼提示信息都沒有,直接被FTP服務器拒絕)
userlist_deny=YES/NO(此項默認爲YES,設置是否阻止user_list文件中的用戶登陸FTP服務器)
tcp_wrappers=YES (代表服務器使用tcp_wrappers做爲主機訪問控制方式,tcp_wrappers能夠實現linux系統中網絡服務的基於主機地址的訪問控制,在/etc目錄中的hosts.allow和hosts.deny兩個文件用於設置tcp_wrappers的訪問控制,前者設置容許訪問記錄,後者設置拒絕訪問記錄。例如想限制某些主機對FTP服務器192.168.57.2的匿名訪問,編緝/etc/hosts.allow文件,如在下面增長兩行命令:vsftpd:192.168.57.1:DENY vsftpd:192.168.57.9:DENY代表限制IP爲192.168.57.1/192.168.57.9主機訪問IP爲192.168.57.2的FTP服務器,此時FTP服務器雖能夠PING通,但沒法鏈接)

在FTP服務器的管理中不管對本地用戶仍是匿名用戶,對於FTP服務器資源的使用都須要進行控控制,避免因爲負擔過大形成FTP服務器運行異常,能夠添加如下配置項對FTP客戶機使用FTP服務器資源進行控制:
max_client=0設置項用於設置FTP服務器所容許的最大客戶端鏈接數,值爲0時表示不限制。例如max_client=100表示FTP服務器的全部客戶端最大鏈接數不超過100個。
max_per_ip=0設置項用於設置對於同一IP地址容許的最大客戶端鏈接數,值爲0時表示不限制。例如max_per_ip=5表示同一IP地址的FTP客戶機與FTP服務器創建的最大鏈接數不超過5個。
local_max_rate=0設置項用於設置本地用戶的最大傳輸速率,單位爲B/s,值爲0時表示不限制。例如local_max_rate=500000表示FTP服務器的本地用戶最大傳輸速率設置爲500KB/s.
ano n_max_rate=0設置項用於設置匿名用戶的最大傳輸速率,單位爲B/s,值爲0表示不限制。例如ano_max_rate=200000,表示FTP服務器的匿名用戶最大傳輸速率設置爲200KB/s.

vsftpd.user_list文件須要與vsftpd.conf文件中的配置項結合來實現對於vsftpd.user_list文件中指定用戶帳號的訪問控制:

userlist_deny和userlist_enable選項限制用戶登陸FTP服務器(使用userlist_deny選項和user_list文件一塊兒能有效阻止root,apache,www等系統用戶登陸FTP服務器,從而保證FTP服務器的分級安全性):

  1. (1)當且僅當userlist_enable=YES時:userlist_deny項的配置纔有效,user_list文件纔會被使用;當其爲NO時,不管userlist_deny項爲什麼值都是無效的,本地全體用戶(除去ftpusers中的用戶)均可以登入FTP.

  2. (2)當userlist_enable=YES時,userlist_deny=YES時:user_list是一個黑名單,即:全部出如今名單中的用戶都會被拒絕登入;

  3. (3)當userlist_enable=YES時,userlist_deny=NO時:user_list是一個白名單,即:只有出如今名單中的用戶纔會被准許登入(user_list以外的用戶都被拒絕登入);

使用白名單後,匿名用戶將沒法登入!除非顯式在user_list中加入一行:anonymous.


三、配置FTP服務器的虛擬用戶

  在vsftpd服務器中支持匿名用戶,本地用戶,和虛擬用戶3類用戶帳號,用途及區別以下:
匿名用戶是名爲anonymous或ftp的用戶,匿名FTP用戶登陸後將FTP服務器中的/var/ftp做爲FTP根目錄。匿名用戶一般用於提供公共文件的下載,如架設公共軟件下載的FTP服務器,全部人均可以使用匿名用戶進行軟件下載。

本地用戶是FTP服務器中的系統用戶帳號,使用FTP本地用戶帳號登陸FTP服務器後,登陸目錄爲本地用戶的宿主目錄。本地FTP用戶帳號一般和Web服務器一塊兒提供虛擬主機服務,做爲網頁虛擬主機更新網頁的途徑。

虛擬用戶帳號是爲了保證FTP服務器的安全性,由vsftpd服務器提供的非系統用戶帳號。虛擬用戶FTP登陸後將把指定的目錄做爲FTP根目錄。虛擬用戶與本地用戶具備相似的功能,因爲虛擬用戶相對安全,所以正逐步替代本地用戶帳號。
  因爲虛擬用戶帳號具備較高的安全性,能夠替代本地用戶帳號使用,下面是vsftpd虛擬用戶帳號設置步驟:

(1)創建虛擬用戶口令庫文件
創建虛擬用戶的口令文件,文件中奇數行設置虛擬用戶的用戶名,偶數行設置用戶的口令。例如,使用vi編輯器創建名爲logins.txt的用戶口令庫文件,在文件中設置用戶mike的口令爲pwabcd,用戶john 的口令是pw1234:
#vi logins.txt
mike      (奇數行設置虛擬用戶名)
pwabcd   (偶數行設置用戶口令)
john
pw1234
:wq(保存退出)
(2)生成vsftpd 的認證文件
使用db_load 命令生成認證文件。「-f」命令選項設置的值是虛擬用戶的口令庫文件,即上面建立的logins.txt。命令的參數設置爲須要生成的認證文件名如 vsftpd_login.db,該文件放置在目錄/etc/vsftpd/下:
#db_load  -T  -t hash  –f  logins.txt  /etc/vsftpd_login.db   (生成認證文件)
#file  /etc/vsftpd/vsftpd_login.db                            (查看文件類型)
/etc/vsftpd/vsftpd_login.db:Berkeley DB (Hash,version  8 , native byte-order)
生成的認證文件的權限應設置爲只對root用戶可讀可寫,即600:
#chmod  600  /etc/vsftpd/vsftpd_login.db
(3)創建虛擬用戶所需的PAM配置文件
在/etc/pam.d目錄下創建vsftpd虛擬用戶身份認證所需的PAM配置文件,名稱是vsftpd.vu,內容爲:
#cat /etc/pam.d/vsftpd.vu
auth  required  /lib/security/pam_userdb.so  db=/etc/vsftpd/vsftpd_login
account  required  /lib/security/pam_userdb.so  db=/etc/vsftpd/vsftpd_login
(4)創建虛擬用戶及要訪問的目錄並設置相應的權限
創建vsftpd虛擬用戶所需的系統用戶帳號,帳號名爲virtual,指定用戶的宿主目錄是/home/ftpsite,設置宿主目錄的權限爲700:
#useradd  -d  /home/ftpsite  virtual
#chmod  700  /home/ftpsite/
這樣vsftpd服務器中的全部虛擬用戶帳號登陸後都將在/home/ftpsite目錄中
(5)設置vsftpd.conf主配置文件
在對vsftpd.conf配置文件進行修改以前,應先將原有的文件進行備份,以便出現配置錯誤時可進行恢復:
#cd /etc/vsftpd
#cp vsftpd.conf vsftpd.conf.bak
在vsftpd.conf配置文件中添加虛擬用戶的配置項,內容爲:
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu
(6)從新啓動vsftpd服務程序
在對vsftpd.conf配置文件進行了任何修改後都須要從新啓動vsftpd服務,以便配置生效:
#service vsftpd restart
(7)測試vsftpd中的虛擬用戶帳號:mike 或 john
在測試前能夠先在/home/ftpsite目錄中創建測試文件,用於測試時進行下載,並設置該文件的屬主和屬組爲virtual
#touch /home/ftpsite/afile
#chown  virtual.virtual  /home/ftpsite/afile
使用ftp命令登陸vsftpd服務器,並使用已配置的虛擬用戶賬號mike進行登陸
#ftp localhost
name (localhost:root):mike
password:
ftp>get afile
在完成虛擬用戶的FTP登陸後,可以使用get命令下載測試文件,測試文件會保存到用戶的當前目錄中。
(8)對不一樣的虛擬用戶設置不一樣的權限
vsftpd服務器中的虛擬用戶能夠靈活的針對不一樣的用戶帳號設置不一樣的用戶權限,配置的步驟以下:
1.設置主配置文件
在vsftpd.conf配置文件中添加user_config_dir配置項,並設置用戶配置文件的保存目錄
user_config_dir=/etc/vsftpd_user_conf
在上面的配置實例中,設置在/etc/vsftpd_user_conf目錄中保存虛擬用戶的配置文件
2.創建用戶配置文件目錄
使用mkdir命令創建虛擬用戶配置文件的保存目錄
#mkdir  /etc/vsftpd_user_conf
3.爲虛擬用戶創建單獨的配置文件
在/etc/vsftpd_user_conf/目錄中能夠爲每一個虛擬用戶創建獨立的配置文件,配置文件名稱和用戶名相同。例如,爲用戶mike創建配置文件mike ,並將anon_world_readable_only設置爲NO,表示用戶具備瀏覽和下載的權限
#cat  /etc/vsftpd_user_conf/mike
anon_world_readable_only=NO
爲用戶john創建配置文件john,並設置該用戶具備瀏覽,下載,上傳,更名,刪除文件,創建和刪除的權限。
#cat  john
anon_world_readable_only=NO   --表示用戶能夠瀏覽FTP目錄和下載文件
anon_upload_enable=YES        --表示用戶能夠上傳文件
anon_mkdir_write_enable=YES   --表示用戶具備創建和刪除目錄的權利
anon_other_write_enable=YES   --表示用戶具備文件更名和刪除文件的權限
經過對以上配置項的組合設置,vsftpd能夠爲每一個虛擬用戶配置不一樣的FTP權限,用戶配置文件中沒有的配置項將按照vsftpd.conf配置文件中的內容設置。

四、vsftpd服務器的其它主要設置
1.最大傳輸速率設置:
設置匿名用戶的最大傳輸率爲20Kbps,修改/etc/vsftpd/vsftpd.conf添加語句:anon_max_rate=20000
設置本地賬號最大傳輸率爲1Mbps,修改/etc/vsftpd/vsftpd.conf添加語句:local_max_rate=1000000
2.服務器最大併發數和用戶最大線程數設置:
例如設置服務器容許的最大併發數爲99,而每一個用戶同一時段的最大併發線程數爲5,修改/etc/vsftpd/vsftpd.conf添加兩行:max_clients=99 和 max_per_ip=5

3.修改默認端口:
默認FTP服務器端口號是21,出於安全目的,有時需修改默認端口號,修改/etc/vsftpd/vsftpd.conf
添加語句(例):listen_port=4449 該語句指定了修改後FTP服務器的端口號,應儘可能大於4000,
4.常見的vsftpd日誌解決方案以下:
xferlog_enable=YES (代表FTP服務器記錄上傳下載的狀況)
xferlog_std_format=YES (代表將記錄的上傳下載狀況寫在xferlog_file所指定的文件中,即xferlog_file選項指定的/var/log/xferlog文件中)
xferlog_file=/var/log/xferlog 
dual_log_enable=YES (代表啓用了雙份日誌,在用xferlog文件記錄服務器上傳下載狀況的同時,vsftpd_log_file所指定的文件,即/var/log/vsftpd.log也將用來記錄服務器的傳輸狀況)
vsftpd_log_file=/var/log/vsftpd.log

五、vsftpdr的兩個日誌文件分析以下:

       /var/log/xferlog日誌文件中數據的分析和參數說明:

Thu Sep 6 09:07:48 2007 7 192.168.57.1 4323279 /home/student/phpMyadmin-2.11.0-all-languages.tar.gz b – i r student ftp 0 *

Thu Sep 6 09:07:48 2007    :當前時間,當前服務器本地時間,格式爲: DDD MMM dd hh:mm:ss YYY   。

7:傳輸時間,傳送文件所用時間,單位爲秒。

192.168.57.1:遠程主機名稱/IP。

4323279:文件大小,傳送文件的大小,單位爲byte。

/home/student/phpMyadmin-2.11.0-all-languages.tar.gz  :傳輸文件名,包括路徑。

b: 傳輸方式的類型,包括兩種:a以ASCII傳輸 b以二進制文件傳輸

-:特殊處理標誌,- 不作任何特殊處理,C 文件是壓縮格式,U 文件是非壓縮格式,T 文件是tar格式

i:文件傳輸方向,包括兩種:o 從FTP服務器向客戶端傳輸,i 從客戶端向FTP服務器傳輸

r:用戶訪問模式,包括:a 匿名用戶,g 來賓用戶,r 系統用戶

student:用戶名稱

ftp:所使用的服務名稱,通常爲FTP

0:認證方式,包括:0 無,1 RFC931認證

*:認證用戶的id,若是使用*,則表示沒法得到該id    

c:傳輸的狀態:c 表示傳輸已完成,i 表示傳輸示完成


      /var/log/vsftpd.log 日誌文件中數據的分析和參數說明:

Tue Sep 11 14:59:24 2007 [pid 3459] [ftp] OK LOGIN;Client 「127.0.0.1」 ,anon password 」?」

6.匿名FTP設置方法:
一般在登陸FTP服務器的用戶不肯定的狀況下,應將FTP服務器設置爲容許匿名帳號登陸的FTP服務器
1.啓用匿名賬號
 anonymous_enable=YES
 local_enable=YES
 write_enable=YES
 listen=YES
設置完成後,重啓vsftd.將容許匿名帳號和本地帳號登陸FTP服務器,同時容許匿名用戶具備對FTP服務器文件的寫權限,而且只能下載文件而不能上傳,不容許匿名帳號建立文件夾,匿名用戶的口令爲一個E-mail地址。
2.容許匿名帳號上傳文件
anon_upload_enable=YES
anon_mkdir_write_enable=YES
將#去掉便可,重啓vsftpd.將容許匿名帳號上傳文件,也就是具備在FTP服務器的本地目錄中新建文件和文件夾的功能
3.僅容許匿名用戶訪問
#local_enable=YES
#write_enable=YES
在前面加上#,即限制本地帳號訪問,僅容許匿名用戶訪問
4.禁止匿名訪問,容許本地帳號訪問
anonymous_enable=NO
 local_enable=YES
 write_enable=YES

七、常見FTP命令及其功能

1.png

2.png


八、FTP數字代碼的意義

110 從新啓動標記應答。
120 服務在多久時間內ready
125 數據鏈路端口開啓,準備傳送。
150 文件狀態正常,開啓數據鏈接端口。
200 命令執行成功。
202 命令執行失敗。
211 系統狀態或是系統求助響應。
212 目錄的狀態。
213 文件的狀態。
214 求助的訊息。
215 名稱系統類型。
220 新的聯機服務ready
221 服務的控制鏈接端口關閉,能夠註銷。
225 數據連結開啓,但無傳輸動做。
226 關閉數據鏈接端口,請求的文件操做成功。
227 進入passive mode
230 使用者登入。
250 請求的文件操做完成。
257 顯示目前的路徑名稱。
331 用戶名稱正確,須要密碼。
332 登入時須要帳號信息。
350 請求的操做須要進一部的命令。
421 沒法提供服務,關閉控制連結。
425 沒法開啓數據鏈路。
426 關閉聯機,終止傳輸。
450 請求的操做未執行。
451 命令終止:有本地的錯誤。
452 未執行命令:磁盤空間不足。
500 格式錯誤,沒法識別命令。
501 參數語法錯誤。
502 命令執行失敗。
503 命令順序錯誤。
504 命令所接的參數不正確。
530 未登入。  532 儲存文件須要帳戶登入。 550 未執行請求的操做。 551 請求的命令終止,類型未知。
552 請求的文件終止,儲存位溢出。   553 未執行請求的的命令,名稱不正確。


九、常見ftp錯誤代碼

Connect 鏈接被拒絕: 可能緣由是vsftpd服務沒被啓動

530 Permission denied: 可能緣由是userlist_enable=YES而且/etc/vsftpd/user_list中包含要登陸的ftp用戶名   即user_list禁止了該用戶的登陸、或者多是沒有指定userlist_file=/etc/vsftpd/user_list

530 Login incorrect: 可能緣由是登陸的ftp用戶名被包含在禁止登陸列表/etc/vsftpdftpusers中 | 同時要確保用戶名、密碼是正確的 | 也多是配置文件中少了一行pam_service_name=vsftpd |  檢查/etc/pam.d/vsftpd 文件裏面lib的路徑 | 編輯/etc/pam.d/vsftp文件,註釋掉auth required pam_shells.so(這個語句的意思是隻有包含shell的用戶才能登陸)

530 Non-anonymous sessions must use encryption.:服務器的強制,非匿名用戶必須使用加密鏈接

500 OOPS: cannot open user list file:可能緣由是不存在文件「/etc/vsftpd/user_list」或文件中不存在該賬戶,解決:解決: cho username >> /etc/vsftpd/user_list

500 OOPS: cannot open chroot() user list file | 500 OOPS: could not read chroot() list file:/etc/vsftpd/chroot_list:可能緣由是不存在文件「/etc/vsftpd/chroot_list」

500 OOPS: missing value in config file: 可能緣由是配置文件「=」等號前值有問題,或只有一個空格

500 OOPS: bad bool value in config file: 可能緣由是配置文件=」等號後值有問題

500 OOPS: unrecognised variable in config file: 可能緣由是參數前有空格

500 OOPS: chdir, 500 OOPS: child died, 500 OOPS: chroot:可能緣由是用戶主目錄沒有權限或沒有主目錄,或者仍是selinux影響的

500 OOPS: vsftpd: both local and anonymous access disabled!匿名用戶和本地用戶登陸都被禁用

GnuTLS error -12: A TLS fatal alert has been received.:received.:Filezilla最新版本認爲vsftpd默認的加密算法"DES-CBC3-SHA"不夠安全而拒絕鏈接致使的。有兩種辦法解決該問題,一是降級你的Filezilla客戶端版本到3.5.3如下,二是更改服務器端vsftpd的配置。增長屬性:ssl_ciphers=HIGH

ECONNREFUSED - Connection refused by server: 當啓用隱式ssl鏈接,用filezilla、winscp客戶端鏈接時報錯,由於vsftpd此時服務器端的端口仍是21,可是客戶端確以990來鏈接。修改客戶端鏈接時使用的參數或者服務器的經過參數listen_port設置端口爲990。

相關文章
相關標籤/搜索