新聞中心
FTP(File Transfer Protocol)是一種網絡協(xié)議,用于在計算機之間傳輸文件。在Linux系統(tǒng)中,FTP服務器是一項很有用的功能,但是有時會出現無法訪問的問題。這篇文章將提供一些可能導致FTP無法訪問的原因,并提供相應的解決方案。

創(chuàng)新互聯建站-專業(yè)網站定制、快速模板網站建設、高性價比伊吾網站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式伊吾網站制作公司更省心,省錢,快速模板網站建設找我們,業(yè)務覆蓋伊吾地區(qū)。費用合理售后完善,十余年實體公司更值得信賴。
一、檢查FTP服務是否正在運行
在Linux中,FTP服務器通常使用vsftpd(Very Secure FTP Daemon)軟件包來管理。如果FTP無法訪問,首先需要檢查vsftpd服務是否正在運行??梢酝ㄟ^在終端中輸入以下命令來檢查:
systemctl status vsftpd
如果服務正在運行,則會看到以下輸出:
● vsftpd.service – vsftpd FTP server
Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2023-10-07 15:03:04 EDT; 5h 11min ago
Mn PID: 567 (vsftpd)
Tasks: 1 (limit: 4915)
Memory: 420.0K
CGroup: /system.slice/vsftpd.service
└─567 /usr/in/vsftpd /etc/vsftpd.conf
如果服務未啟動,則需要啟動服務。輸入以下命令,啟動服務:
sudo systemctl start vsftpd
如果服務已經啟動,但是還是無法訪問FTP,則可能需要重新啟動vsftpd服務。輸入以下命令,重新啟動服務:
sudo systemctl restart vsftpd
二、檢查防火墻設置
在Linux系統(tǒng)中,防火墻是一種保護系統(tǒng)的安全措施,但有時會限制FTP的訪問。如果FTP無法訪問,請檢查防火墻設置是否正確??梢允褂靡韵旅睿_定防火墻是否在運行:
sudo ufw status
如果防火墻是啟動狀態(tài),則需要允許FTP訪問通過防火墻。首先添加FTP協(xié)議到防火墻規(guī)則中,輸入以下命令:
sudo ufw allow ftp
然后重新啟動ufw服務,輸入以下命令:
sudo systemctl restart ufw
現在,FTP應該可以正常訪問。
三、檢查FTP用戶權限設置
如果FTP無法訪問,還需要檢查FTP用戶的權限設置。默認情況下,FTP只允許具有sudo權限的用戶訪問FTP。
如果要授權一個普通用戶使用FTP,請按照以下步驟操作:
1. 創(chuàng)建一個FTP用戶。輸入以下命令,創(chuàng)建FTP用戶并設置密碼:
sudo adduser ftpuser
2. 將FTP用戶添加到vsftpd用戶組中。輸入以下命令:
sudo usermod -a -G ftp ftpuser
3. 創(chuàng)建ftp用戶目錄。輸入以下命令,創(chuàng)建FTP用戶目錄:
sudo mkdir /home/ftpuser/ftp
4. 將ftp用戶目錄的所有權賦予ftp用戶和vsftpd用戶組。輸入以下命令:
sudo chown ftpuser:ftp /home/ftpuser/ftp
sudo chmod 777 /home/ftpuser/ftp
現在,FTP用戶ftpuser應該可以訪問FTP了。
四、檢查FTP配置文件設置
如果FTP無法訪問,還需要檢查FTP配置文件設置??梢酝ㄟ^編輯/etc/vsftpd.conf文件來更改FTP配置。以下是一些可能影響FTP訪問的設置:
– 確保啟用了本地用戶登錄。在/etc/vsftpd.conf文件中添加以下行:
local_enable=YES
– 確保被動模式被啟用。在/etc/vsftpd.conf文件中添加以下行:
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=41000
pasv_address=XXX.XXX.XXX.XXX
其中,XXX.XXX.XXX.XXX表示FTP服務器的IP地址。
– 確保用戶具有寫入訪問權限。在/etc/vsftpd.conf文件中添加以下行:
write_enable=YES
– 確保匿名用戶訪問被禁用。在/etc/vsftpd.conf文件中添加以下行:
anonymous_enable=NO
– 確保FTP用戶的根目錄有效。在/etc/vsftpd.conf文件中添加以下行:
chroot_local_user=YES
如果以上設置都已確認正確,并且FTP仍然無法訪問,則可以嘗試使用其他FTP客戶端連接FTP服務器,以判斷問題是否出在FTP客戶端本身。
:
本文介紹了Linux上的FTP無法訪問以及解決方案。如果FTP無法訪問,首先需要檢查vsftpd服務是否正在運行。如果服務已經啟動,但是還是無法訪問FTP,則可能需要檢查防火墻設置、FTP用戶權限和FTP配置文件設置。通過這些措施,我們可以解決大多數FTP無法訪問的問題。
相關問題拓展閱讀:
- 利用ftp登錄Linux系統(tǒng)報錯!怎么解決,求解!
利用ftp登錄Linux系統(tǒng)報錯!怎么解決,求解!
配置ftp服務了嗎?配置完后,還要開啟這個服務。
以下內容為復制的:
/etc/vsftpd/vsftpd.conf 主配置文件
/etc/vsftpd.ftpusers 指定哪些用戶不能訪問FTP服務器
/etc/vsftpd.user_list 可以根據vsftpd.conf文件中的設置來決定該文件中指定的用戶是否可以訪問ftp服務器
/etc/rc.d/init.d/vsftpd vsftpd的啟動腳本文件
2.修改/etc/vsftpd/vsftpd.conf文件
#vi /etc/vsftpd/vsftpd.conf
功能:設置FTP服務器相關選項
文件格式:#說明語句
...........
...........
配置選項
...........
...........
說明:在vsftpd. Conf文件中主要由各種配置選項組成,具體以分為以下類別:
2.1連接選項
2.1.1.監(jiān)聽地址與控制端口
listen_address=ip address
定義了在主機的哪個IP地址上監(jiān)聽FTP請求(應用于獨立啟動方式的多IP主機默認值為無)
listen_port=port_value
指定FTP服務器監(jiān)聽的端口號(控制端口),默認值為21。此選項在standalone模式下生效
2.1.2.FTP模式與數據端口
port_enable=YES|NO
指定數據連接時模式,默認值為YES(PORT模式,NO為PASV模式)
connect_from_port_20=YES|NO
控制以PORT模式進行數據傳輸時是否使用20端口(ftp-data),(YES使用,NO不使用,默認值為NO)
ftp_data_port=port number
設定ftp數據傳輸端口(ftp-data)值。默認值為20。此參數用于PORT FTP模式。
port_promiscuous=YES|NO
默認值為NO。為YES時,取消PORT安全檢查。該檢查確保外出的數據只能連接到客戶端上。小心打開此選項。
pasv_enable=YES|NO
YES,允許數據傳輸時使用PASV模式。NO,不允許使用PASV模式。默認值為YES。
pasv_min_port=port number
pasv_max_port=port number
設定在PASV模式下,建立數據傳輸所可以使用port范圍的下界和上界,0 表 示亮搭灶任意。默認值為0。把端口范圍設在比較高的一段范圍內,比如,將有助于安全性的提高
pasv_promiscuous=YES|NO
此選項激活時,將關閉PASV模式的安全檢查。該檢查確保數據連接和控制連接是來自同一個IP地址。小心打開此選項。此選項唯一合理的用法是存在于由安全隧道方案構成的組織中。默認值為NO
pasv_address= ip address
此選項為一個數字IP地址,作為PASV命令的響應。默認值為none,即地址是從呼入的連接套接字(incoming connectd socket)中獲取。
2.1.3.ASCII模式
ascii_upload_enable=YES|NO
控制是否允許使用ascii模式上傳文件,YES允許,NO不允許,默認為NO
ascii_download_enable=YES|NO
控制是否允許使用ascii模式下載文件,YES允許,NO不允許,默認為NO。
2.2.性能與負載控制
2.2.1.超時選項
idle_session_timeout= numerical value
空閑(發(fā)呆)用敬扮戶會話的超時時間,若是超出這時間沒有數據的傳送或是指令的輸入,則會強迫斷線。單位為秒,默認值為300。
data_connection_timeout= numerical value
空閑的數據連接的超時時間。默認值為300 秒。
accept_timeout=numerical value
接受建立聯機的超時設定,單位為秒。默認值為60。
connect_timeout=numerical value
響應PORT方式的數據聯機的超時設定,單位為秒。默認值為60。以上兩個選項針對客戶端的,將使客戶端空閑1分鐘后自動中斷連枝早接,并在中斷1分鐘后自動激活連接
2.2.2.負載控制
max_clients=numerical value
此參數在VSFTPD使用單獨(standalone)模式下有效。此參數定義了FTP服務器更大的并發(fā)連接數,當超過此連接數時,服務器拒絕客戶端連接。默認值為0,表示不限更大連接數。
max_per_ip=numerical value
此參數在VSFTPD使用單獨(standalone)模式下有效。此參數定義每個IP地址更大的并發(fā)連接數目。超過這個數目將會拒絕連接。此選項的設置將影響到象網際快車這類的多進程下載軟件。默認值為0,表示不限制。
anon_max_rate=value
設定匿名用戶的更大數據傳輸速度value,以Bytes/s為單位。默認無。
local_max_rate=value
設定用戶的更大數據傳輸速度value,以Bytes/s為單位。默認無。此選項對所有的用戶都生效
2.3.用戶選項
2.3.1.匿名用戶
anonymous_enable=YES|NO
控制是否允許匿名用戶登錄,YES允許,NO不允許,默認值為YES。
ftp_username= username
匿名用戶所使用的系統(tǒng)用戶名。默認下,此參數在配置文件中不出現,值為ftp
no_anon_password=YES|NO
控制匿名用戶登入時是否需要密碼,YES不需要,NO需要。默認值為NO。
deny_email_enable=YES|NO
此參數默認值為NO。當值為YES時,拒絕使用banned_email_file參數指定文件中所列出的e-mail地址進行登錄的匿名用戶。即,當匿名用戶使用banned_email_file文件中所列出的e-mail進行登錄時,被拒絕。顯然,這對于阻擊某些Dos攻擊有效。當此參數生效時,需追加banned_email_file參數
banned_email_file=/etc/vsftpd.banned_emails
指定包含被拒絕的e-mail地址的文件,默認文件為/etc/vsftpd.banned_emails。
anon_root=path
設定匿名用戶的根目錄,即匿名用戶登入后,被定位到此目錄下。主配置文件中默認無此項,默認值為/var/ftp/。
anon_world_readable_only=YES|NO
控制是否只允許匿名用戶下載可閱讀文檔。YES,只允許匿名用戶下載可閱讀的文件。NO,允許匿名用戶瀏覽整個服務器的文件系統(tǒng)。默認值為YES。
anon_upload_enable=YES|NO
控制是否允許匿名用戶上傳文件,YES允許,NO不允許,默認是不設值,即為NO。除了這個參數外,匿名用戶要能上傳文件,還需要兩個條件:一,write_enable參數為YES;二,在文件系統(tǒng)上,FTP匿名用戶對某個目錄有寫權限。
anon_mkdir_write_enable=YES|NO
控制是否允許匿名用戶創(chuàng)建新目錄,YES允許,NO不允許,默認是不設值,即為NO。當然在文件系統(tǒng)上,FTP匿名用戶必需對新目錄的上層目錄擁有寫權限。
anon_other_write_enable=YES|NO
控制匿名用戶是否擁有除了上傳和新建目錄之外的其他權限,如刪除、更名等。YES擁有,NO不擁有,默認值為NO。
chown_uploads=YES|NO
是否修改匿名用戶所上傳文件的所有權。YES,匿名用戶所上傳的文件的所有權將改為另外一個不同的用戶所有,用戶由chown_username參數指定。此選項默認值為NO。
chown_username=whoever
指定擁有匿名用戶上傳文件所有權的用戶。此參數與chown_uploads聯用。不推薦使用root用戶。
2.3.2.本地用戶
local_enable=YES|NO
控制vsftpd所在的系統(tǒng)的用戶是否可以登錄vsftpd。默認值為YES。
local_root=
定義所有本地用戶的根目錄。當本地用戶登入時,將被更換到此目錄下。默認值為無。
user_config_dir=
定義用戶個人配置文件所在的目錄。用戶的個人配置文件為該目錄下的同名文件。個人配置文件的格式與vsftpd.conf格式相同。例如定義user_config_dir=/etc/vsftpd/userconf,并且主機上有用戶xiaowang,lisi,那我們可以在user_config_dir的目錄新增名為xiaowang、lisi的兩個文件。當用戶lisi 登入時,VSFTPD則會讀取user_config_dir下lisi這個文件中的設定值,應用于用戶lisi。默認值為無。
2.3.3.虛擬用戶
guest_enable=YES|NO
若是啟動這項功能,所有的非匿名登入者都視為guest。默認值為關閉
guest_username=
定義VSFTPD的guest用戶在系統(tǒng)中的用戶名。默認值為ftp
2.4.安全措施
2.4.1.用戶登錄控制
pam_service_name=vsftpd
指出VSFTPD進行PAM認證時所使用的PAM配置文件名,默認值是vsftpd,默認PAM配置文件是/etc/pam.d/vsftpd。
/etc/vsftpd.ftpusers
VSFTPD禁止列在此文件中的用戶登錄FTP服務器。這個機制是在/etc/pam.d/vsftpd中默認設置的。
userlist_enable=YES|NO
此選項被激活后,VSFTPD將讀取userlist_file參數所指定的文件中的用戶列表。當列表中的用戶登錄FTP服務器時,該用戶在提示輸入密碼之前就被禁止了。即該用戶名輸入后,VSFTPD查到該用戶名在列表,VSFTPD就直接禁止掉該用戶,不會再進行詢問密碼等后續(xù)步聚。默認值為NO。
userlist_file=/etc/vsftpd.user_list
指出userlist_enable選項生效后,被讀取的包含用戶列表的文件。默認值是/etc/vsftpd.user_list。
userlist_deny=YES|NO
決定禁止還是只允許由userlist_file指定文件中的用戶登錄FTP服務器。此選項在userlist_enable 選項啟動后才生效。YES,默認值,禁止文件中的用戶登錄,同時也不向這些用戶發(fā)出輸入口令的提示。NO,只允許在文件中的用戶登錄FTP服務器。
tcp_wrappers=YES|NO
在VSFTPD中使用TCP_Wrappers遠程訪問控制機制,默認值為YES。
2.4.2.目錄訪問控制
chroot_list_enable=YES|NO
鎖定某些用戶在自家目錄中。即當這些用戶登錄后,不可以轉到系統(tǒng)的其他目錄,只能在自家目錄(及其子目錄)下。具體的用戶在chroot_list_file參數所指定的文件中列出。默認值為NO。
chroot_list_file=/etc/vsftpd/chroot_list
指出被鎖定在自家目錄中的用戶的列表文件。文件格式為一行一用戶。通常該文件是/etc/vsftpd/chroot_list。此選項默認不設置。
chroot_local_users=YES|NO
將本地用戶鎖定在自家目錄中。當此項被激活時,chroot_list_enable和chroot_local_users參數的作用將發(fā)生變化,chroot_list_file所指定文件中的用戶將不被鎖定在自家目錄。本參數被激活后,可能帶來安全上的沖突,特別是當用戶擁有上傳、shell訪問等權限時。因此,只有在確實了解的情況下,才可以打開此參數。默認值為NO。
passwd_chroot_enable =YES|NO
當此選項激活時,與chroot_local_user選項配合,chroot()容器的位置可以在每個用戶的基礎上指定。每個用戶的容器來源于/etc/passwd中每個用戶的自家目錄字段。默認值為NO。
2.4.3.文件操作控制
hide_ids=YES|NO
是否隱藏文件的所有者和組信息。YES,當用戶使用”ls -al”之類的指令時,在目錄列表中所有文件的擁有者和組信息都顯示為ftp。默認值為NO。
ls_recurse_enable=YES|NO
YES,允許使用”ls -R” 指令。這個選項有一個小的安全風險,因為在一個大型FTP站點的根目錄下使用”ls -R”會消耗大量系統(tǒng)資源。默認值為NO。
write_enable=YES|NO
控制是否允許使用任何可以修改文件系統(tǒng)的FTP 的指令,比如STOR、DELE、RNFR、RNTO、MKD、RMD、APPE 以及SITE。默認值為NO,不過自帶的簡單配置文件中打開了該選項。
secure_chroot_dir=
這選項指向一個空目錄,并且ftp用戶對此目錄無寫權限。當vsftpd不需要訪問文件系統(tǒng)時,這個目錄將被作為一個安全的容器,用戶將被限制在此目錄中。默認目錄為/usr/share/empty。
2.4.4.新增文件權限設定
anon_umask=
匿名用戶新增文件的umask 數值。默認值為077。
file_open_mode=
上傳檔案的權限,與chmod 所使用的數值相同。如果希望上傳的文件可以執(zhí)行,設此值為0777。默認值為0666。
local_umask=
本地用戶新增檔案時的umask 數值。默認值為077。不過,其他大多數的FTP服務器都是使用022。如果您的用戶希望的話,可以修改為022。在自帶的配置文件中此項就設為了022。
2.5.提示信息
ftpd_banner=login banner string
此參數定義了login banner string(登錄歡迎語字符串)。用戶可以自行修改。預設值為無。當ftpd_banner設置后,將取代系統(tǒng)原來的歡迎詞。
banner_file=/directory/vsftpd_banner_file
此項指定一個文本文件,當使用者登入時,會顯示此該文件的內容,通常為歡迎話語或是說明。默認值為無。與ftpd_banner相比,banner_file是文本文件的形式,而ftpd_banner是字串格式。banner_file選項將取代ftpd_banner選項。
dirmessage_enable=YES|NO
控制是否啟用目錄提示信息功能。YES啟用,NO不啟用,默認值為YES。此功能啟用后,當用戶進入某一個目錄時,會檢查該目錄下是否有message_file選項所指定的文檔,若是有,則會出現此文檔的內容,通常這個檔案會放置歡迎話語,或是對該目錄的說明。
message_file=
此選項,僅在dirmessage_enable選項激活方生效。默認值為.message。
1檢查Linux系統(tǒng)上FTP是否成功安裝
# service vsftpd status
vsftpd is stopped
#提示vsftpd服務停止,表明已安裝但未開啟該服務
2檢查Linux系統(tǒng)上FTP服務是沒埋明否開啟
# service vsftpd start
Starting vsftpd for vsftpd:液中
再次查看發(fā)現已經處于啟動狀態(tài):
# service vsftpd status
vsftpd (pid 4510) is running…
3.修改root用戶可以使用ftp
#默認不能用root用戶枯告使用ftp,如下所示:
C:\Users\thinkpad>ftp 192.168.141.123
連接到 192.168.141.123。
220 (vsFTPd 1.1.3)
用戶(192.168.141.123:(none)): root
530 Permission denied.
登錄失敗。
#修改/etc/vsftpd.ftpusers文件,該文件記錄了不能使用ftp登錄的用戶,將root用戶注釋
#修改/etc/vsftpd.user_list文件,將root用戶注釋。
你這是連接的sftp不是ftp,兩者不一樣,自己確認一下。
如果你確定是要連賣擾猜接sftp,那么上面的錯誤信息說明你的sftp沒有隨sshd正常啟動。
你需要看一下你的/李察etc/ssh/sshd_config文件中是不是有下面這句話
Subsystem sftp /usr/lib/openssh/sftp-server,中型并且沒有被注釋掉,然后重啟sshd服務。
ftp無法訪問linux的介紹就聊到這里吧,感謝你花時間閱讀本站內容,更多關于ftp無法訪問linux,Linux上的FTP無法訪問怎么辦?,利用ftp登錄Linux系統(tǒng)報錯!怎么解決,求解!的信息別忘了在本站進行查找喔。
創(chuàng)新互聯服務器托管擁有成都T3+級標準機房資源,具備完善的安防設施、三線及BGP網絡接入帶寬達10T,機柜接入千兆交換機,能夠有效保證服務器托管業(yè)務安全、可靠、穩(wěn)定、高效運行;創(chuàng)新互聯專注于成都服務器托管租用十余年,得到成都等地區(qū)行業(yè)客戶的一致認可。
當前題目:Linux上的FTP無法訪問怎么辦?(ftp無法訪問linux)
標題網址:http://m.5511xx.com/article/cddehsh.html


咨詢
建站咨詢
