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

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


咨詢
建站咨詢
