1. 程式人生 > >vsftpd 錯誤:530 and 500 錯誤解決方法

vsftpd 錯誤:530 and 500 錯誤解決方法

VSFTP  530 Login incorrect  And    500 OOPS: vsftpd: refusing to run with writable anonymous root  錯誤的解決方法

530 Login incorrect  :
在檔案中限制匿名使用者,做如下設定:

anonymous_enable=NO
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.user_list

這樣只有在 user_list 裡面的使用者才可以訪問 ftp。
但是在 service vsftpd restart 後,用 ftp localhost 測試,輸入正確的使用者名稱和密碼之後,卻一直顯示:

530 Login incorrect
Login Failed
後來發現在 etc下面有個 pam.d 資料夾,進去開啟 vsftpd 這個檔案,發現裡面對之前的使用者進行了限制,將裡面對應的限制註釋掉:

#auth       required    pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed


問題解決。

500 OOPS: vsftpd: refusing to run with writable anonymous root

如果我們已經把 vsFTPd 伺服器啟動好了,但登入測試是會出現類似下面的提示:
500 OOPS: vsftpd: refusing to run with writable anonymous root
這表示 ftp 使用者的根目錄的許可權不對,應該改過才對;

[[email protected] ~]# more /etc/passwd | grep ftp 
ftp:x:1000:1000:FTP User:/var/ftp:/sbin/nologin 


我們發現 ftp 使用者的根目錄在 /var/ftp,就是這個 /var/ftp 的許可權不對所致,這個目錄的許可權是不能開啟所有許可權的;是您運行了 chmod 777 /var/ftp 所致;如果沒有 ftp 使用者這個根目錄,當然您要自己建一個; 如下 FTP 使用者的根目錄是不能針對所有使用者、使用者組、其它使用者組完全開放;

[[email protected] ~]# ls -ld /var/ftp 
drwxrwxrwx 3 root root 4096 2005-03-23 /var/ftp 


修正這個錯誤,可以用下面的辦法:

[[email protected] ~]# chown root:root /var/ftp 
[[email protected] ~]# chmod 755 /var/ftp 

有的弟兄可能會說,那匿名使用者的可讀、可下載、可上傳怎麼辦呢?這也簡單,在 /var/ftp 下再建一個目錄,許可權是 777 的就行了,再改一改 vsftpd.conf 就 OK 了;沒有什麼難的;
vsFTPd 出於安全考慮,是不準讓 ftp 使用者的根目錄的許可權是完全沒有限制的,您可以去讀一下 vsFTPd 的文件就明白的了;否則也不能稱為最安全的 FTP 伺服器了,對不對?"

另附上 VSFTP 的配置檔案:

#About host settings
connect_from_port_20=YES
#記得在前一小節提到的主動式連線使用的FTP伺服器的埠號嗎?這就是ftp-data的埠號;

listen_port=21
#vsftpd使用的命令通道之埠號,如果您想要使用非正規的埠號,在這個設定專案修改吧!不過你必須要知道,這個設定值僅適合以stand alone的方式來啟動喔! (對於super daemon無效)

dirmessage_enable=YES
#當使用者進入某個目錄時,會顯示該目錄需要注意的內容,顯示的檔案預設是.message ,你可以使用底下的設定專案來修訂!

message_file=.message
#當dirmessage_enable=YES時,可以設定這個專案來讓vsftpd尋找該檔案來顯示訊息!

listen=YES
#若設定為YES表示vsftpd是以standalone的方式來啟動的!

pasv_enable=YES
#啟動被動式連線模式(passive mode),一定要設定為YES的啦!

use_localtime=YES
#是否使用本地時間? vsftpd預設使用GMT時間(格林威治),所以會比臺灣晚8小時,建議設定為YES吧!

write_enable=YES
#如果你允許使用者上傳資料時,就要啟動這個設定值;

connect_timeout=60
#單位是秒,在資料連線的主動式連線模式下,我們發出的連線訊號在60秒內得不到使用者端的迴應,則不等待並強制斷線咯。

accept_timeout=60
#當使用者以被動式PASV來進行資料傳輸時,如果主機啟用passive port並等待client超過60秒而無迴應,那麼就給他強制斷線!這個設定值與connect_timeout類似,不過一個是管理主動連線,一個管理被動連線。

data_connection_timeout=300
#如果伺服器與使用者端的資料連線已經成功建立(不論主動還是被動連線),但是可能由於線路問題導致300秒內還是無法順利的完成資料的傳送,那使用者端的連線就會被我們的vsftpd強制剔除!

idle_session_timeout=300
#如果使用者在300秒內都沒有命令動作,強制離線!

max_clients=50
#如果vsftpd是以stand alone方式啟動的,那麼這個設定專案可以設定同一時間,最多有多少client可以同時連上vsftpd哩! ?

max_per_ip=5
#與上面max_clients類似,這裡是同一個IP同一時間可允許多少連線?

pasv_min_port=0, pasv_max_port=0
#上面兩個是與passive mode使用的port number有關,如果您想要使用65400到65410這11個port來進行被動式連線模式的連線,可以這樣設定pasv_max_port=65410以及pasv_min_port=65400。如果是0的話,表示隨機取用而不限制。

#ftpd_banner=一些文字說明

#當使用者連線進入到vsftpd時,在FTP使用者端軟體上頭會顯示的說明文字。不過,這個設定值資料比較少啦!建議你可以使用底下的設定值來取代這個專案;

banner_file=/etc/vsftpd/welcome.txt
#這個專案可以指定某個純文字檔作為使用者登入vsftpd伺服器時所顯示的歡迎字眼。
#

#
#
#Entity user settings
#
guest_enable=NO
#若這個值設定為YES時,那麼任何非anonymous登入的帳號,均會被假設成為guest (訪客)喔!至於訪客在vsftpd當中,預設會取得ftp這個使用者的相關許可權。但可以透過guest_username來修改。

guest_username=ftp
#在guest_enable=YES時才會生效,指定訪客的身份而已。

local_enable=YES
#這個設定值必須要為YES時,在/etc/passwd內的帳號才能以實體使用者的方式登入我們的vsftpd主機喔!

write_enable=YES
#是否允許實體使用者寫入

local_max_rate=60000
#實體使用者的傳輸速度限制,單位為bytes/second, 0為不限制。

chroot_local_user=YES
#將使用者限制在自己的家目錄之內(chroot)!這個設定在vsftpd當中預設是NO,因為有底下兩個設定專案的輔助喔!所以不需要啟動他
#但如果啟動了他,則表示實體使用者預設就已經被chroot,寫在/etc/vsftpd/chroot_list裡的使用者反而是沒有被chroot的.


chroot_list_enable=YES
#是否啟用將某些實體使用者限制在他們的家目錄內?預設是NO ,不過,如果您想要讓某些使用者無法離開他們的家目錄時,可以考慮將這個設定為YES ,並且規劃下個設定值

chroot_list_file=/etc/vsftpd/chroot_list
#如果chroot_list_enable=YES那麼就可以設定這個專案了!他裡面可以規定那一個實體使用者會被限制在自己的家目錄內而無法離開! (chroot)一行一個帳號即可!

userlist_enable=YES
#是否藉助vsftpd的抵擋機制來處理某些不受歡迎的帳號,與底下的設定有關;

userlist_deny=YES
#當userlist_enable=YES時才會生效的設定,若此設定值為YES時,則當使用者帳號被列入到某個檔案時,在該檔案內的使用者將無法登入vsftpd伺服器!該檔案檔名與下列設定專案有關。
userlist_file=/etc/vsftpd/user_list
#若上面userlist_deny=YES時,則這個檔案就有用處了!在這個檔案內的帳號都無法使用vsftpd喔!
#
#
#
#Anonymous settings
#
anonymous_enable=YES
#設定為允許anonymous登入我們的vsftpd主機!預設是YES ,底下的所有相關設定都需要將這個設定為anonymous_enable=YES之後才會生效!

anon_root=/var/ftp
anon_world_readable_only=YES
#僅允許anonymous具有下載可讀檔案的許可權,預設是YES。

anon_other_write_enable=YES
#是否允許anonymous具有寫入的許可權?預設是NO!如果要設定為YES,那麼開放給anonymous寫入的目錄亦需要調整許可權,讓vsftpd的PID擁有者可以寫入才行!

anon_mkdir_write_enable=YES
#是否讓anonymous具有建立目錄的許可權?預設值是NO!如果要設定為YES,那麼anony_other_write_enable必須設定為YES !

#是否讓anonymous具有上傳資料的功能,預設是NO,如果要設定為YES ,則anon_other_write_enable=YES必須設定。

deny_email_enable=YES
#將某些特殊的email address抵擋住,不讓那些anonymous登入!如果以anonymous登入主機時,不是會要求輸入密碼嗎?密碼不是要您輸入您的email address嗎?如果你很討厭某些email address ,就可以使用這個設定來將他取消登入的許可權!需與下個設定專案配合:

#banned_email_file=/etc/vsftpd/banned_emails
#如果deny_email_enable=YES時,可以利用這個設定專案來規定哪個email address不可登入我們的vsftpd喔!在上面設定的檔案內,一行輸入一個email address即可!

no_anon_password=YES
#當設定為YES時,表示anonymous將會略過密碼檢驗步驟,而直接進入vsftpd伺服器內喔!所以一般預設都是NO的!

anon_max_rate=40000
#這個設定值後面接的數值單位為bytes/秒,限制anonymous的傳輸速度,如果是0則不限制(由最大頻寬所限制),如果您想讓anonymous僅有30 KB/s的速度,可以設定『anon_max_rate=30000』

anon_umask=077
#限制anonymous的許可權!如果是077則anonymous傳送過來的檔案許可權會是-rw-------喔!
#
#
#
# About system settings
ascii_download_enable=YES
#如果設定為YES ,那麼client就可以使用ASCII格式下載檔案。

ascii_upload_enable=YES
#與上一個設定類似的,只是這個設定針對上傳而言!預設是NO

one_process_model=NO
#這個設定專案比較危險一點~當設定為YES時,表示每個建立的連線都會擁有一支process在負責,可以增加vsftpd的效能。不過,除非您的系統比較安全,而且硬體配備比較高,否則容易耗盡系統資源喔!一般建議設定為NO的啦!

tcp_wrappers=YES
#當然我們都習慣支援TCP Wrappers的啦!所以設定為YES吧!

xferlog_enable=YES
#當設定為YES時,使用者上傳與下載檔案都會被紀錄起來。記錄的檔案與下一個設定專案有關:

xferlog_file=/var/log/vsftpd.log
#如果上一個xferlog_enable=YES的話,這裡就可以設定了!這個是登入檔的檔名啦!

xferlog_std_format=NO
#是否設定為wu ftp相同的登入檔格式? !預設為NO ,因為登入檔會比較容易讀!不過,如果您有使用wu ftp登入檔的分析軟體,這裡才需要設定為YES

nopriv_user=nobody
#我們的vsftpd預設以nobody作為此一服務執行者的許可權。因為nobody的許可權相當的低,因此即使被入侵,入侵者僅能取得nobody的許可權喔!

pam_service_name=vsftpd
#這個是pam模組的名稱,我們放置在/etc/pam.d/vsftpd即是這個咚咚!

 參考:

博主所有文章已轉自私人部落格 Joe 的個人部落格,謝謝關注!

相關推薦

vsftpd 錯誤530 and 500 錯誤解決方法

VSFTP  530 Login incorrect  And    500 OOPS: vsftpd: refusing to run with writable anonymous root  錯誤的解決方法 530 Login incorrect  : 在檔案中限制

Android Studio遇到的錯誤java.lang.NullPointerException及解決方法

使用Android Studio,執行Textview.settext時遇到的誤:java.lang.NullPointerException,空指標異常,如下: Caused by: java.lang.NullPointerException

關於錯誤OOM ResourceExhaustedError 的完美解決方法

遇到的問題: 我使用MobileNet訓練圖片分類器,引數大概有幾百萬個並不是很多,然而報錯OOM ResourceExhaustedError 分析: 這樣的話可能有兩個原因: (1)batchsize太大,這種只需要將batchsize減小就行了 (2)GPU的視訊記憶體太小

執行selenium指令碼時,出現錯誤ERROR: install_util.cc(603) 解決方法

基於python語言的selenium指令碼,執行時,雖然也可以跑,但是會出現錯誤資訊,如圖: 原因:應該是找不到登錄檔資訊,MachineLevelUserCloudPolicyEnrollmentToken 解決方法: 1. 開啟登錄檔編輯器 使用快捷鍵,WI

頁面報錯誤HTTP Status 500 - Method "execute" failed for object com.oa.action.loginAction@3c346578解決方法

error runt abs efi parameter abstract on() and HERE 16:21:07,308 ERROR DefaultDispatcherErrorHandler:42 - Exception occurred during proc

Python + win10 +Apache CGI 錯誤500解決方法

初始報錯:   解決方法: ①指令碼執行 ,改變.py檔案的許可權     # 進入專案目錄     # 引入os模組、 cd C:\xampp\cgi-bin\pythonE

linux開啟防火牆(雲伺服器防火牆適用)後vsftp連線不上提示錯誤: 連線超時 錯誤: 讀取目錄列表失敗的解決方法

linux開啟防火牆後vsftp連線不上提示:錯誤: 連線超時 錯誤: 讀取目錄列表失敗的解決方法   2015/01/27 |  linux,疑難雜症 |  鐵網維-運維|  暫無評論 |  15529 views 最近使用vsftp時開啟防火牆後發現ftp連線不上提示

IJG JPEG庫執行時錯誤Corrupt JPEG data 的解決方案

做嵌入式影象識別,用V4L2捕獲影象為JPEG格式,用IJG JPEG庫轉成BMP格式時偶爾出現如下錯誤或警告: Corrupt JPEG data: XX extraneous bytes before marker 0xXX 或 Corrupt JPEG data: pr

錯誤重複定義變數的解決辦法——不要在標頭檔案裡定義變數

在寫C程式碼的時候,經常需要在標頭檔案中包含有些預定義的資訊。比如一些結構體的宣告,外部變數,函式的宣告等。 有時候覺得有必要在標頭檔案中定義一些變數,這樣在原始檔中就不需要定義了。但是這樣做,有很大的問題。 比如 [cpp] view plain cop

win2008 R2解決安裝網站安全狗提示HTTP 錯誤 500.21解決方法

安裝 再次 error 網站 兼容性 安全狗 技術分享 api 無法 這篇文章主要介紹了win2008 R2安裝網站安全狗提示HTTP 錯誤 500.21的解決方法,需要的朋友可以參考下  WINDOWS 2008 R2系統+IIS7.5,在沒安裝網站安全狗前一切正常,安裝

SQL資料庫還原時錯誤作業系統返回了錯誤 '5(拒絕訪問)'的解決辦法

解決SQL Server 2005 還原資料庫錯誤:System.Data.SqlClient.SqlError: 在對   'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\BusinessDB.mdf' 嘗試   'RestoreContaine

安裝loadrunner時出現”命令行選項語法錯誤鍵入命令 ?獲得幫助“的解決方法

完美解決 獲取 AR yun div 運行 信息 tps 選項 安裝LR11 時,安裝Microsoft Visual c++2005 sp1運行時組件,就會提示命令行選項語法錯誤,鍵入“命令/?”可獲取幫肋信息1、進入loadrunner-11\Additional C

【git學習】在CenterOS系統上恢復GitLab時出現錯誤tar: 由於前次錯誤,將以上次的錯誤狀態退出 unpacking backup failed

一、問題描述 今天在測試加密GitLab備份檔案之後,進行解密,然後再恢復GitLab的時候,恢復失敗,報瞭如下的錯誤: tar: db:無法 mkdir: 許可權不夠 tar: db:無法 mkdir: 許可權不夠 tar: db/database.sql.

錯誤異常too many open files解決方法

一、產生原因 too many open files是Linux系統中常見的錯誤,從字面意思上看就是說程式開啟的檔案數過多,不過這裡的files不單是檔案的意思,也包括開啟的通訊連結(比如socket),正在監聽的埠等等,所以有時候也可以叫做控制代碼(handle),這個錯誤通常也可以叫做控制代

安裝SQL Server 2012過程中出現“啟用windows功能NetFx3時出錯”(錯誤原因、詳細分析及解決方法)以及在Windows Server2012上安裝.NET Framework

  問題:在伺服器(作業系統為Windows server 2012)上安裝SQL Server 2012的過程中,安裝停留在下圖所示的介面上,顯示”正在啟用作業系統功能NetFx3”隨後出現提示框,告知啟用windows功能NetFx3時出錯。    分析:NetFx3指的

JUnit除錯時出現錯誤 Failed to load ApplicationContext 的解決方法(不一定適合所有人)

在我寫一個小型的ssm框架的系統是,除錯執行出現如下結果: 九月 01, 2017 3:56:28 下午 org.springframework.test.context.support.DefaultTestContextBootstrapper getDefaultTe

VPN連線806錯誤“無法建立VPN伺服器連線”解決方法

錯誤 806:無法在計算機與 VPN 伺服器之間建立 VPN 連線。造成這種故障的最常見原因是計算機與 VPN 伺服器之間至少有一個 Internet 裝置(例如,防火牆或路由器)沒有配置為允許基本路由封裝(GRE)協議資料包通過。 以下是幾種可能導致這個問題的原因及解決辦法: 1、如果你使用了路由器/防

關於 SQL Server 登入問題(錯誤 233和18456)的解決方法

此次遇到的問題型別為:錯誤233 和 錯誤18456 錯誤233 已成功與伺服器建立連線,但是在登入過程中發生錯取。(provider:共享記憶體提供程式,error:0-管道的另一端上無任何程序。)(Microsoft SQL Server,錯誤:233) 解

Android studio 百度地圖230錯誤 APP Scode校驗失敗解決方法

baidumapsdk.demo E/baidumapsdk: Authentication Error errorcode: 230 uid: -1 appid -1 msg: APP Scode碼校驗失敗 baidumapsdk.demo D/BMapApiDemoMa

PHP經典header錯誤"Cannot modify header information"的解決方法(轉)

錯誤提 示:Cannot modify header information - headers already sent by .... 昨晚在轉換編碼的時候,有一個 頁面需要在head中申明utf-8的編碼,但是這與程式中的一處header產生了衝突。google了一下,找到幾種解決方法,翻譯整