當前位置:首頁 » 文件傳輸 » Linux連接指定埠的ftp
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

Linux連接指定埠的ftp

發布時間: 2023-08-01 10:41:42

❶ 如何在linux下開啟FTP服務

你好,

  1. 安裝ftp軟體,以Ubuntu為例,apt install vsftpd

  2. 開啟ftp,sudo systemctl start vsftpd 和sudo systemctl enable vsftpd前者是啟用vsftpd服務,後者是將其加入開機自啟

  3. 配置ftp伺服器,sudo vi /etc/vsftpd.conf

將下面的改成自己需要的

anonymous_enable=NO # 關閉匿名登錄

local_enable=YES # 允許本地用戶登錄

write_enable=YES # 啟用可以修改文件的 FTP 命令

local_umask=022 # 本地用戶創建文件的 umask 值

dirmessage_enable=YES # 當用戶第一次進入新目錄時顯示提示消息

xferlog_enable=YES # 一個存有詳細的上傳和下載信息的日誌文件

connect_from_port_20=YES # 在伺服器上針對 PORT 類型的連接使用埠 20(FTP 數據)

xferlog_std_format=YES # 保持標准日誌文件格式

listen=NO # 阻止 vsftpd 在獨立模式下運行

listen_ipv6=YES # vsftpd 將監聽 ipv6 而不是 IPv4,你可以根據你的網路情況設置

pam_service_name=vsftpd # vsftpd 將使用的 PAM 驗證設備的名字

userlist_enable=YES # 允許 vsftpd 載入用戶名字列表

tcp_wrappers=YES # 打開 tcp 包裝器


配置 VSFTPD ,基於用戶列表文件/etc/vsftpd.userlist來允許或拒絕用戶訪問 FTP。注意,在默認情況下,如果通過userlist_enable=YES啟用了用戶列表,且設置userlist_deny=YES時,那麼,用戶列表文件/etc/vsftpd.userlist中的用戶是不能登錄訪問的。但是,選項userlist_deny=NO則反轉了默認設置,這種情況下只有用戶名被明確列出在/etc/vsftpd.userlist中的用戶才允許登錄到 FTP 伺服器。

配置好之後用sudo systemctl restart vsftpd重啟ftp服務就可以用了。

如果出現訪問被拒絕之類的提示,嘗試開放20、21兩個埠。也可以在配置文件裡面自定義埠(也許會更加安全)

希望對你有所幫助!

不懂請追問!

望採納!

❷ linux怎麼配置ftp伺服器

一. FTP 說明

linux 系統下常用的FTP 是vsftp, 即Very Security File Transfer Protocol. 還有一個是proftp(Profession ftp)。 我們這里也是簡單的說明下vsftp的配置。

vsftp提供3種遠程的登錄方式:

(1)匿名登錄方式

就是不需要用戶名,密碼。就能登錄到伺服器電腦裡面

(2)本地用戶方式

需要帳戶名和密碼才能登錄。而且,這個帳戶名和密碼,都是在你linux系統裡面,已經有的用戶。

(3)虛擬用戶方式

同樣需要用戶名和密碼才能登錄。但是和上面的區別就是,這個用戶名和密碼,在你linux系統中是沒有的(沒有該用戶帳號)

二. Vsftp的安裝配置

2.1 安裝

vsftp 的安裝包,可以在安裝里找到。 用yum 安裝過程也很簡單。
安裝命令:yum install vsftpd

2.2. 相關命令

2.2.1 啟動與關閉

[root@singledb ~]# service vsftpd start

Starting vsftpd for vsftpd: [ OK ]

[root@singledb ~]# service vsftpd stop

Shutting down vsftpd: [ OK ]

[root@singledb ~]# service vsftpd restart

Shutting down vsftpd: [FAILED]

Starting vsftpd for vsftpd: [ OK ]

[root@singledb ~]# /etc/init.d/vsftpd start

Starting vsftpd for vsftpd: [FAILED]

[root@singledb ~]# /etc/init.d/vsftpd stop

Shutting down vsftpd: [ OK ]

[root@singledb ~]# /etc/init.d/vsftpd restart

Shutting down vsftpd: [FAILED]

Starting vsftpd for vsftpd: [ OK ]

[root@singledb ~]# /etc/init.d/vsftpd status

vsftpd (pid 3931) is running...

[root@singledb ~]#

2.2.2. 其他命令

--查看vsftpd 啟動狀態

[root@singledb ~]# chkconfig --list vsftpd

vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off

[root@singledb ~]# chkconfig vsftpd on

[root@singledb ~]# chkconfig --list vsftpd

vsftpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

這里看到,默認情況下從2到5設置為on了。2到5是多用戶級別。 這個對應的是linux不同的運行級別。

我們也可以加level 選項來指定:

[root@singledb ~]# chkconfig --level 0 vsftpd on

[root@singledb ~]# chkconfig --list vsftpd

vsftpd 0:on 1:off 2:on 3:on 4:on 5:on 6:off

我們看到0已經設置為on了。

我們可以使用man chkconfig 來查看幫助:

--level levels

Specifies the run levels an operation should pertain to. It is given as a string of numbers from 0 to 7. For example, --level 35 specifies runlevels 3 and 5.

傳統的init 定義了7個運行級(run level),每一個級別都代表系統應該補充運行的某些特定服務:

(1)0級是完全關閉系統的級別

(2)1級或者S級代表單用戶模式

(3)2-5 級 是多用戶級別

(4)6級 是 重新引導的級別

(1)查看防火牆

我一般都是把系統的防火牆關閉了。 因為開了會有很多限制。

[root@singledb ~]# /etc/init.d/iptables status

Table: nat

Chain PREROUTING (policy ACCEPT)

num target prot opt source destination

Chain POSTROUTING (policy ACCEPT)

num target prot opt source destination

1 MASQUERADE all -- 192.168.122.0/24 !192.168.122.0/24

Chain OUTPUT (policy ACCEPT)

num target prot opt source destination

Table: filter

Chain INPUT (policy ACCEPT)

num target prot opt source destination

1 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53

2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:53

3 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:67

4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:67

Chain FORWARD (policy ACCEPT)

num target prot opt source destination

1 ACCEPT all -- 0.0.0.0/0 192.168.122.0/24 state RELATED,ESTABLISHED

2 ACCEPT all -- 192.168.122.0/24 0.0.0.0/0

3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0

4 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable

5 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable

Chain OUTPUT (policy ACCEPT)

num target prot opt source destination

You have new mail in /var/spool/mail/root

--添加開放21號埠:

[root@singledb ~]# /sbin/iptables -I INPUT -p tcp --dport 21 -j ACCEPT

[root@singledb ~]# /etc/init.d/iptables status

Table: nat

Chain PREROUTING (policy ACCEPT)

num target prot opt source destination

Chain POSTROUTING (policy ACCEPT)

num target prot opt source destination

1 MASQUERADE all -- 192.168.122.0/24 !192.168.122.0/24

Chain OUTPUT (policy ACCEPT)

num target prot opt source destination

Table: filter

Chain INPUT (policy ACCEPT)

num target prot opt source destination

1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21

2 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53

3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:53

4 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:67

5 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:67

Chain FORWARD (policy ACCEPT)

num target prot opt source destination

1 ACCEPT all -- 0.0.0.0/0 192.168.122.0/24 state RELATED,ESTABLISHED

2 ACCEPT all -- 192.168.122.0/24 0.0.0.0/0

3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0

4 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable

5 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable

Chain OUTPUT (policy ACCEPT)

num target prot opt source destination

--保存配置

[root@singledb ~]# /etc/rc.d/init.d/iptables save

Saving firewall rules to /etc/sysconfig/iptables: [ OK ]

--重啟防火牆:

[root@singledb ~]# service iptables {start|stop|restart}

(2)查看關閉selinux

[root@singledb ~]# sestatus

SELinux status: disabled

我這里在安裝操作系統的時候就關閉了selinux,如果沒有關閉,可以修改如下文件來關閉:

[root@singledb ~]# cat /etc/sysconfig/selinux

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

# enforcing - SELinux security policy is enforced.

# permissive - SELinux prints warnings instead of enforcing.

# disabled - SELinux is fully disabled.

SELINUX=disabled

# SELINUXTYPE= type of policy in use. Possible values are:

# targeted - Only targeted network daemons are protected.

# strict - Full SELinux protection.

SELINUXTYPE=targeted

[root@singledb ~]#

保存退出並重啟系統reboot

三. FTP配置文件

FTP 安裝好之後,在/etc/vsftpd/目錄下會有如下文件:

[root@singledb ~]# cd /etc/vsftpd/

[root@singledb vsftpd]# ls

ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh

[root@singledb vsftpd]#

vsftpd.conf: 主配置文件

ftpusers: 指定哪些用戶不能訪問FTP伺服器

user_list: 指定的用戶是否可以訪問ftp伺服器由vsftpd.conf文件中的userlist_deny的取值來決定。

[root@singledb vsftpd]# cat user_list

# vsftpd userlist

# If userlist_deny=NO, only allow users in this file

# If userlist_deny=YES (default), never allow users in this file, and

# do not even prompt for a password.

# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers

# for users that are denied.

我們過濾掉#的注釋後,查看一下vsftpd.conf 文件:

[root@singledb ftp]# cat /etc/vsftpd/vsftpd.conf |grep -v '^#';

anonymous_enable=YES

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=YES

pam_service_name=vsftpd

userlist_enable=yes

tcp_wrappers=YES

至於這些參數的意思,在注釋里有詳細的說明。

我們可以在vsftpd.conf 文件設置如下參數:

(1)ftpd_banner=welcome to ftp service :設置連接伺服器後的歡迎信息

(2)idle_session_timeout=60 :限制遠程的客戶機連接後,所建立的控制連接,在多長時間沒有做任何的操作就會中斷(秒)

(3)data_connection_timeout=120 :設置客戶機在進行數據傳輸時,設置空閑的數據中斷時間

(4)accept_timeout=60 設置在多長時間後自動建立連接

(5)connect_timeout=60 設置數據連接的最大激活時間,多長時間斷開,為別人所使用;

(6)max_clients=200 指明伺服器總的客戶並發連接數為200

(7)max_per_ip=3 指明每個客戶機的最大連接數為3

(8)local_max_rate=50000(50kbytes/sec) 本地用戶最大傳輸速率限制

(9)anon_max_rate=30000匿名用戶的最大傳輸速率限制

(10)pasv_min_port=埠

(11)pasv-max-prot=埠號 定義最大與最小埠,為0表示任意埠;為客戶端連接指明埠;

(12)listen_address=IP地址 設置ftp服務來監聽的地址,客戶端可以用哪個地址來連接;

(13)listen_port=埠號 設置FTP工作的埠號,默認的為21

(14)chroot_local_user=YES 設置所有的本地用戶可以chroot

(15)chroot_local_user=NO 設置指定用戶能夠chroot

(16)chroot_list_enable=YES

(17)chroot_list_file=/etc/vsftpd/chroot_list(只有/etc/vsftpd/chroot_list中的指定的用戶才能執行 )

(18)local_root=path 無論哪個用戶都能登錄的用戶,定義登錄帳號的主目錄, 若沒有指定,則每一個用戶則進入到個人用戶主目錄;

(19)chroot_local_user=yes/no 是否鎖定本地系統帳號用戶主目錄(所有);鎖定後,用戶只能訪問用戶的主目錄/home/user,不能利用cd命令向上轉;只能向下;

(20)chroot_list_enable=yes/no 鎖定指定文件中用戶的主目錄(部分),文件:/chroot_list_file=path 中指定;

(21)userlist_enable=YES/NO 是否載入用戶列表文件;

(22)userlist_deny=YES 表示上面所載入的用戶是否允許拒絕登錄;

(23)userlist_file=/etc/vsftpd/user_list 列表文件

限制IP 訪問FTP:

#vi /etc/hosts.allow

vsftpd:192.168.5.128:DENY 設置該IP地址不可以訪問ftp服務

FTP 訪問時間限制:

#cp /usr/share/doc/vsftpd-1.1.3/vsftpd.xinetd /etc/xinetd.d/vsftpd

#vi /etc/xinetd.d/vsftpd/

修改 disable = no

access_time = hour:min-hour:min (添加配置訪問的時間限制(註:與vsftpd.conf中listen=NO相對應)

例: access_time = 8:30-11:30 17:30-21:30 表示只有這兩個時間段可以訪問ftp

ftp的配置基本上只有這些了。

默認情況下,ftp根目錄是/var/ftp。 如果要修改這個目錄位置,可以更改/etc/passwd 文件:

[root@singledb ftp]# cat /etc/passwd | grep ftp

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

創建一個用戶來訪問FTP,並指定該用戶的FTP 目錄:

[root@singledb u02]# useradd -d /u02/qsftp qs

[root@singledb u02]# passwd qs

Changing password for user qs.

New UNIX password:

BAD PASSWORD: it is WAY too short

Retype new UNIX password:

passwd: all authentication tokens updated successfully.

這里指定的是/u02/qsftp 這個目錄,要注意個目錄的許可權。

更改用戶不能telnet,只能ftp:

usermod -s /sbin/nologin username //用戶只能ftp,不能telnet

usermod -s /sbin/bash username //用戶恢復正常

禁止用戶ssh登陸

useradd username -s /bin/false

更改用戶主目錄:

usermod -d /bbb username //把用戶的主目錄定為/bbb

然後用qs這個用戶就可以訪問了。

以上只是一些簡單的設置。 在用戶許可權這塊還有很多內容可以研究。 比如特定用戶的特定許可權。 安全性等。 以後在研究了。

❸ 求linux下寫shell腳本 FTP直接連接內網里的伺服器的思路

不用shell腳步,安裝一個埠映射工具,比如stunnel,把C的ftp埠映射到B即可,你在A上訪問B的ftp就會映射到C的ftp。

❹ 從linux連接到對方的ftp伺服器上通配符問題

Linux系統ftp連不上去建議從以下幾個方面進行考慮:

  • ftp服務是否開啟,可以在Linux上面查看ps -aux |grep vsftpd 來查看進程情況,也可以使用status -tanlp |grep 20 ,status -tanlp |grep 21


  • 查看Linux的iptables 是否有20 21號埠允許,然後可以在ftp客戶端上面tcping ftp服務端的21號埠,或者使用telnet 21埠。


  • 查看ftp客戶端連接報錯,檢查ftp的配置文件,查看配置文件的問題。許可權,selinux,用戶授權。Linux下面ftp的問題建議參考:,祝你好運,加油!!!!

❺ 怎麼通過linux訪問伺服器上的ftp

這個直接推薦你看看這里:http://www.linuxprobe.com/chapter-11.html

文件傳輸協議(FTP,File Transfer Protocol),即能夠讓用戶在互聯網中上傳、下載文件的文件協議,而FTP伺服器就是支持FTP傳輸協議的主機,要想完成文件傳輸則需要FTP服務端和FTP客戶端的配合才行。
通常用戶使用FTP客戶端軟體向FTP伺服器發起連接並發送FTP指令,伺服器收到用戶指令後將執行結果返回客戶端。

FTP協議佔用兩個埠號:
21埠:命令控制,用於接收客戶端執行的FTP命令。
20埠:數據傳輸,用於上傳、下載文件數據。
FTP數據傳輸的類型:
主動模式:FTP服務端主動向FTP客戶端發起連接請求。
被動模式:FTP服務端等待FTP客戶端的連接請求。
11.2 安裝vsftpd服務程序
Vsftpd即「Very Secure FTP Daemon」是一款運行在類Unix操作系統的FTP服務端程序,Vsftpd主打的是安全性、完全開源及免費、速率高、支持IPv6、虛擬用戶功能等等其他FTP服務端軟體不具備的功能。

安裝vsftpd服務程序包:
[root@linuxprobe ~]# yum install vsftpd -y
Loaded plugins: langpacks, proct-id, subscription-manager
…………………省略部分安裝過程………………
---> Package vsftpd.x86_64 0:3.0.2-9.el7 will be installed
--> Finished Dependency Resolution
…………………省略部分安裝過程…………………
Installed:
vsftpd.x86_64 0:3.0.2-9.el7
Complete!

清空默認的防火牆默認規則:
[root@linuxprobe ~]# iptables -F

保存清空後的防火牆規則表:
[root@linuxprobe ~]# service iptables save

Vsftpd的程序與配置文件:
主程序 /usr/sbin/vsftpd
用戶禁止登陸列表 /etc/vsftpd/ftpusers
/etc/vsftpd/user_list
主配置文件 /etc/vsftpd/vsftpd.conf

先來分析下vsftpd程序的主配置文件吧:
[root@linuxprobe ~]# cat /etc/vsftpd/vsftpd.conf
主配置文件長達123行,但大部分是以#號開始的,這些都是注釋信息,我們可以過濾掉它們。
備份vsftpd的主配置文件:
[root@linuxprobe ~]# mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_bak

過濾掉所有包含#號的行,並將過濾結果寫回到vsftpd.conf文件中:
[root@linuxprobe ~]# grep -v "#" /etc/vsftpd/vsftpd.conf_bak > /etc/vsftpd/vsftpd.conf

此時再分析下vsftpd程序的主配置文件吧:
[root@linuxprobe ~]# cat /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

vsftpd程序配置文件參數的作用:
參數 作用
listen=[YES|NO] 是否以獨立運行的方式監聽服務。
listen_address=IP地址 設置要監聽的IP地址。
listen_port=21 設置FTP服務的監聽埠。
download_enable=[YES|NO] 是否允許下載文件。
userlist_enable=[YES|NO]
userlist_deny=[YES|NO] 是否啟用「禁止登陸用戶名單」。
max_clients=0 最大客戶端連接數,0為不限制。
max_per_ip=0 同一IP地址最大連接數,0位不限制。
anonymous_enable=[YES|NO] 是否允許匿名用戶訪問。
anon_upload_enable=[YES|NO] 是否允許匿名用戶上傳文件。
anon_umask=022 匿名用戶上傳文件的umask值。
anon_root=/var/ftp 匿名用戶的FTP根目錄。
anon_mkdir_write_enable=[YES|NO] 是否允許匿名用戶創建目錄。
anon_other_write_enable=[YES|NO] 是否開放匿名用戶其他寫入許可權。
anon_max_rate=0 匿名用戶最大傳輸速率(位元組),0為不限制。
local_enable=[YES|NO] 是否允許本地用戶登陸FTP。
local_umask=022 本地用戶上傳文件的umask值。
local_root=/var/ftp 本地用戶的FTP根目錄。
chroot_local_user=[YES|NO] 是否將用戶許可權禁錮在FTP目錄,更加的安全。
local_max_rate=0 本地用戶最大傳輸速率(位元組),0為不限制。

11.3 Vsftpd的驗證方式
vsftpd程序提供的FTP服務可選認證方式,分別為匿名訪問、本地用戶和虛擬用戶:
匿名訪問:任何人無需驗證口令即可登入FTP服務端。
本地用戶:使用FTP伺服器中的用戶、密碼信息。
虛擬用戶:創建獨立的FTP帳號資料。
顧名思義匿名訪問就是所有人均可隨意登入FTP服務,這樣自然會產生安全問題,一般用於存放公開的數據。
而本地用戶與虛擬用戶則需要用戶提供帳號及口令後才能登入FTP服務,更加的安全,而虛擬用戶則是最安全的。
下面的實驗環節將使用兩台紅帽RHEL7系統的主機,讀者需要提前配置網卡的IP地址等信息:
主機名稱 操作系統 IP地址
FTP服務端 紅帽RHEL7操作系統 192.168.10.10
FTP客戶端 紅帽RHEL7操作系統 192.168.10.20

11.3.1 匿名訪問模式
FTP匿名訪問模式是比較不安全的服務模式,尤其在真實的工作環境中千萬不要存放敏感的數據,以免泄露。
vsftpd程序默認已經允許匿名訪問模式,我們要做的就是開啟匿名用戶的上傳和寫入許可權,寫入下面的參數:
[root@linuxprobe ~]# vim /etc/vsftpd/vsftpd.conf

參數 作用
anonymous_enable=YES 允許匿名訪問模式。
anon_umask=022 匿名用戶上傳文件的umask值。
anon_upload_enable=YES 允許匿名用戶上傳文件
anon_mkdir_write_enable=YES 允許匿名用戶創建目錄
anon_other_write_enable=YES 允許匿名用戶修改目錄名或刪除目錄

確認填寫正確後保存並退出vsftpd.conf文件,然後重啟vsftpd服務程序並設置為開機自啟動。
[root@linuxprobe ~]# systemctl restart vsftpd
[root@linuxprobe ~]# systemctl enable vsftpd
ln -s '/usr/lib/systemd/system/vsftpd.service' '/etc/systemd/system/multi-user.target.wants/vsftpd.service
因為在紅帽RHCSA、RHCE或RHCA考試後都要重啟您的實驗機再執行判分腳本。
所以請讀者在日常工作中也要記得將需要的服務加入到開機啟動項中:"systemctl enable vsftpd"。
如果重啟vsftpd服務程序時沒有報錯,此時便可以使用FTP客戶機(192.168.10.20)嘗試登入FTP服務了。
ftp命令用於使用FTP服務,格式為:「ftp [參數] [FTP主機]」。
紅帽RHEL7系統中ftp命令默認沒有安裝,請執行"yum install ftp -y"即可安裝完畢。
在客戶端嘗試登入FTP服務:
[root@linuxprobe ~]# ftp 192.168.10.10
Connected to 192.168.10.10 (192.168.10.10).
220 (vsFTPd 3.0.2)
Name (192.168.10.10:root): anonymous
331 Please specify the password.
Password:敲擊回車
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd pub
250 Directory successfully changed.
ftp> mkdir files
550 Permission denied.

上面操作中已經將防火牆規則清空,在vsftpd.conf文件中也已經允許匿名用戶創建目錄與寫入許可權,那怎麼會被拒絕了呢?
這里建議讀者先不要往下看,思考後用自己的方法解決下這個問題,長期這樣你的Linux的排錯能力一定會練出來的。
回想前面的參數細節,匿名訪問模式的FTP根目錄為/var/ftp:
[root@linuxprobe ~]# ls -ld /var/ftp/pub
drwxr-xr-x. 3 root root 16 Jul 13 14:38 /var/ftp/pub

原來匿名用戶的FTP根目錄所有者/組都是root,所以匿名用戶沒有寫入許可權,那我們將所有者修改為ftp試試吧。
[root@linuxprobe ~]# chown ftp /var/ftp/pub

此時再用ftp命令嘗試登入FTP服務並創建文件:
ftp> mkdir files
550 Create directory operation failed.

可惡!又報錯了!!雖然這次報錯代碼還是550,但前面提示許可權拒絕,這次是操作失敗,馬上想到是SELinux服務在搗鬼。
查看所有與ftp相關的SELinux規則:
[root@linuxprobe ~]# getsebool -a | grep ftp
ftp_home_dir --> off
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> off
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> off
httpd_can_connect_ftp --> off
httpd_enable_ftp_server --> off
sftpd_anon_write --> off
sftpd_enable_homedirs --> off
sftpd_full_access --> off
sftpd_write_ssh_home --> off
tftp_anon_write --> off
tftp_home_dir --> off

設置SELinux服務對ftp服務的訪問規則策略為允許。
[root@linuxprobe ~]# setsebool -P ftpd_full_access=on

此時再來創建文件或目錄就沒有問題了:
[root@linuxprobe ~]# ftp 192.168.10.10
Connected to 192.168.10.10 (192.168.10.10).
220 (vsFTPd 3.0.2)
Name (192.168.10.10:root): anonymous
331 Please specify the password.
Password:敲擊回車
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd pub
250 Directory successfully changed.
ftp> mkdir files
257 "/pub/files" created
ftp> rename files database
350 Ready for RNTO.
250 Rename successful.
ftp> rmdir database
250 Remove directory operation successful.
ftp> exit
221 Goodbye.

請注意:當您完成本實驗後請還原虛擬機快照再進行下一個實驗,否則可能導致配置文件沖突而報錯。
11.3.2 本地用戶模式
既然要使用本地用戶模式,而本地用戶模式確實要比匿名訪問模式更加的安全,所以本實驗中會關閉匿名訪問模式。
vsftpd服務程序默認已經允許本地用戶模式,我們要做的是添加設置本地用戶模式許可權的參數:
[root@linuxprobe ~]# vim /etc/vsftpd/vsftpd.conf

參數 作用
anonymous_enable=NO 禁止匿名訪問模式。
local_enable=YES 允許本地用戶模式。
write_enable=YES 設置可寫入許可權。
local_umask=022 本地用戶模式創建文件的umask值。
userlist_deny=YES 參數值為YES即禁止名單中的用戶,參數值為NO則代表僅允許名單中的用戶。
userlist_enable=YES 允許「禁止登陸名單」,名單文件為ftpusers與user_list。

確認填寫正確後保存並退出vsftpd.conf文件,然後重啟vsftpd服務程序並設置為開機自啟動。
[root@linuxprobe ~]# systemctl restart vsftpd
[root@linuxprobe ~]# systemctl enable vsftpd
ln -s '/usr/lib/systemd/system/vsftpd.service' '/etc/systemd/system/multi-user.target.wants/vsftpd.service
因為在紅帽RHCSA、RHCE或RHCA考試後都要重啟您的實驗機再執行判分腳本。
所以請讀者在日常工作中也要記得將需要的服務加入到開機啟動項中:」systemctl enable vsftpd「。
如果重啟vsftpd服務程序時沒有報錯,此時便可以使用FTP客戶機(192.168.10.20)嘗試登入FTP服務了~
我們先來看下ftpusers或user_list文件中禁止登陸用戶名單:
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
vsftpd服務為了讓FTP服務更加的安全,默認禁止以root身份登入,那麼創建個普通用戶吧:
[root@linuxprobe ~]# useradd linuxprobe

為linuxprobe用戶設置密碼
[root@linuxprobe ~]# passwd linuxprobe
Changing password for user linuxprobe.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

在客戶端嘗試登入FTP服務:
[root@linuxprobe ~]# ftp 192.168.10.10
Connected to 192.168.10.10 (192.168.10.10).
220 (vsFTPd 3.0.2)
Name (192.168.10.10:root): linuxprobe
331 Please specify the password.
Password:輸入用戶的本地密碼
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> mkdir files
550 Create directory operation failed.

有了上面配置匿名訪問模式的經驗,這次再遇到了「操作被拒絕」,應該馬上想到SELinux了吧。
查看所有與ftp相關的SELinux規則:
[root@linuxprobe ~]# getsebool -a | grep ftp
ftp_home_dir --> off
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> off
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> off
httpd_can_connect_ftp --> off
httpd_enable_ftp_server --> off
sftpd_anon_write --> off
sftpd_enable_homedirs --> off
sftpd_full_access --> off
sftpd_write_ssh_home --> off
tftp_anon_write --> off
tftp_home_dir --> off

設置SELinux對FTP服務的規則為允許:
[root@linuxprobe ~]# setsebool -P ftpd_full_access=on

此時再來創建文件或目錄就沒有問題了:
[root@linuxprobe ~]# ftp 192.168.10.10
Connected to 192.168.10.10 (192.168.10.10).
220 (vsFTPd 3.0.2)
Name (192.168.10.10:root): linuxprobe
331 Please specify the password.
Password:輸入用戶本地密碼
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> mkdir files
257 "/home/linuxprobe/files" created
ftp> rename files database
350 Ready for RNTO.
250 Rename successful.
ftp> rmdir database
250 Remove directory operation successful.
ftp> exit
221 Goodbye.

❻ Linux伺服器寶塔面板怎麼連接FTP

先檢查這些內容

1.注意內網IP和外網IP

2.檢查ftp服務是否啟動 (面板首頁即可看到)

3.檢查防火牆20埠 ftp 21埠及被動埠39000 - 40000是否放行 (如是騰訊雲/阿里雲等還需檢查安全組)

4.是否主動/被動模式都不能連接

5.新建一個用戶看是否能連接

6.更換ftp客戶端使用flashfxp 如圖勾上 再嘗試連接

但凡解決了就可以登陸了,如果還是不行,那麼試試最後一種方法:

登陸寶塔面板管理系統,找到左側的「軟體管理」--「FTP軟體」---點擊「設置」

然後點擊配置修改:如圖所示,查找「ForcePassiveIP」(位置188行左右)

#ForcePassiveIP192.168.0.1

刪除前面的「#」將「192.168.0.1」修改為:伺服器的IP地址,是伺服器不是你客戶端的IP地址!

ForcePassiveIP伺服器公網ip地址

最後修改完記得重新啟動一下FTP軟體,打開FTP連接,你會發現奇跡發生了

❼ Linux下配置FTP伺服器

它可運行在Linux、Solaris等系統中,支持很多其他的FTP 伺服器不支持的特徵:

非常高的安全性需求

帶寬限制

良好的可伸縮性

創建虛擬用戶的可能性

分配虛擬IP地址的可能性

一、vsftpd的啟動

#service vsftpd start

如果允許用戶匿名訪問,需創建用戶ftp和目錄/var/ftp

# mkdir /var/ftp

# useradd –d /var/ftp ftp

二、vsftpd的配置

Vsftpd的配置文件存放在/etc/vsftpd/vsftpd.conf 我們可根據實際數要對如下信息進行配置:

1. 連接選項

☆監聽地址和控制埠

(1) listen_address=ip address

定義主機在哪個IP 地址上監聽FTP請求。即在哪個IP地址上提供FTP服務。

(2) listen_port=port_value

指定FTP伺服器監聽的埠號。默認值為21。

2. 性能與負載控制

☆超時選項

(1) idle_session_timeout=

空閑用戶會話的超時時間,若是超過這段時間沒有數據的傳送或是指令的輸入,則會被迫斷線。默認值是300s

(2) accept_timeout=numerical value

接受建立聯機的超時設定。默認值為60s

☆負載選項

(1) max_clients= numerical value

定義FTP伺服器最大的兵法連接數。當超過此連接數時,伺服器拒絕客戶端連接。默認值為0,表示不限最大連接數。

(2) max_per_ip= numerical value

定義每個IP地址最大的並發連接數目。超過這個數目將會拒絕連接。此選項的設置將會影響到網際快車、迅雷之類的多線程下載軟體。默認值為0,表示不限制。

(3) anon_max_rate=value

設定匿名用戶的最大數據傳輸速度,以B/s為單位。默認無。

(4) local_max_rate=value

設定用戶的最大數據傳輸速度。以B/s為單位。默認無。此選項對所有的用戶都生效。

3. 用戶選項

vsftpd的用戶分為3類:匿名用戶、本地用戶(local user)及虛擬用戶(guest)

☆ 匿名用戶

(1) anonymous_enable=YES|NO

控制是否允許匿名用戶登錄

(2) ftp_username=

匿名用戶使用的系統用戶名。默認情況下,值為ftp

(3) no_anon_password= YES|NO

控制匿名用戶登錄時是否需要密碼。

(4) anon_root=

設定匿名用戶的根目錄,即匿名用戶登錄後,被定位到此目錄下。主配置文件中默認無此項,默認值為/var/ftp/

(5) anon_world_readable_only= YES|NO

控制是否只允許匿名用戶下載可閱讀的文檔。YES,只允許匿名用戶下載可閱讀的文件。NO,允許匿名用戶瀏覽整個伺服器的文件系統。

(6) anon_upload_enable= YES|NO

控制是否允許匿名用戶上傳文件。除了這個參數外,匿名用戶要能上傳文件,還需要兩個條件,write_enable參數為YES;在文件系統上,FTP匿名用戶對某個目錄有寫許可權。

(7) anon_mkdir_wirte_enable= YES|NO

控制是否允許匿名用戶創建新目錄。在文件系統上,FTP匿名用戶必須對新目錄的上層目錄擁有寫許可權。

(8) anon_other_write_enbale= YES|NO

控制匿名用戶是否擁有除了上傳和新建目錄之外的`其他許可權。如刪除、更名等。

(9) chown_uploads= YES|NO

是否修改匿名用戶所上傳文件的所有權。YES,匿名用戶上傳得文件所有權改為另一個不同的用戶所有,用戶由chown_username參數指定。

(10) chown_username=whoever

指定擁有匿名用戶上傳文件所有權的用戶。

☆本地用戶

(1) local_enable= YES|NO

控制vsftpd所在的系統的用戶是否可以登錄vsftpd。

(2) local_root=

定義本地用戶的根目錄。當本地用戶登錄時,將被更換到此目錄下。

☆虛擬用戶

(1) guest_enable= YES|NO

啟動此功能將所有匿名登入者都視為guest

(2) guest_username=

定義vsftpd的guest用戶在系統中的用戶名。

4. 安全措施

☆用戶登錄控制

(1) /etc/vsftpd.ftpusers

Vsftpd禁止列在此文件中的用戶登錄FTP伺服器。此機制是默認設置的。

(2) userlist_enable= YES|NO

此選項激活後,vsftpd將讀取userlist_file參數所指定的文件中的用戶列表。

(3) userlist_file=/etc/vsftpd.user_list

指出userlist_enable選項生效後,被讀取的包含用戶列表的文件。默認值是/etc/vsftpd.user_list

(4) userlist_deny= YES|NO

決定禁止還是只允許由userlist_file指定文件中的用戶登錄FTP伺服器。userlist_enable選項啟動後才能生效。默認值為YES,禁止文中的用戶登錄,同時不向這些用戶發出輸入口令的指令。NO,只允許在文中的用戶登錄FTP伺服器。

☆目錄訪問控制

(1) chroot_list_enable= YES|NO

鎖定某些用戶在自己的目錄中,而不可以轉到系統的其他目錄。

(2) chroot_list_file=/etc/vsftpd/chroot_list

指定被鎖定在主目錄的用戶的列表文件。

(3) chroot_local_users= YES|NO

將本地用戶鎖定在主目中。

❽ linux ftp埠怎麼設置

1、先查看下有沒安裝FTP軟體rpm -qa vsftpd。

注意事項:

FTP 的目標是提高文件的共享性,提供非直接使用遠程計算機,使存儲介質對用戶透明和可靠高效地傳送數據。它能操作任何類型的文件而不需要進一步處理,就像MIME或Unicode一樣。

❾ suse linux進行埠映射實現內網ftp服務

# ftp
modprobe ip_nat_ftp ###載入ip_nat_ftp模塊(若沒有編譯進內核),以使ftp能被正確NAT
modprobe ip_conntrack_ftp ###載入ip_conntrack_ftp模塊
# 用DNAT作埠映射
iptables -t nat -A PREROUTING -d a.b.c.d -p tcp --dport 21 -j DNAT --to 192.168.0.5
iptables -A FORWARD -o eth0 -d 192.168.0.5 -p tcp --dport 21 -j ACCEPT
iptables -A FORWARD -i eth0 -s 192.168.0.5-p tcp --sport 21 -m --state ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -s 192.168.0.5 -p tcp --sport 20 -m --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -o eth0 -d 192.168.0.5 -p tcp --dport 20 -m --state ESTABLISHED -j ACCEPT
iptables -A FORWARD -o eth0 -d 192.168.0.5 -p tcp --dport 1024: -m --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -s 192.168.0.5 -p tcp --sport 1024: -m --state ESTABLISHED -j ACCEPT
# 用SNAT作源地址轉換(關鍵),以使回應包能正確返回
iptables -t nat -A POSTROUTING -d 192.168.0.5 -p tcp --dport 21 -i eth0 -j SNAT --to 192.168.0.1

最後配置自動啟動文件,這樣開機就自動啟動服務了

❿ 如何使用ftp連接linux虛擬機

下面是在虛擬機中的linux的ftp的基本配置(redhat AS 4.0為例):
首先要安裝linux下的vsftp軟體包。
rpm -qa|gerp vsftpd //查找vsftpd有沒有安裝
如果沒有安裝就 vsftpd-2.0.1-5.i386.rpm (在第一張光碟)
在linux中有一個非常重要的一點就是要掛載光碟機 mount /media/cdrom
在這里我們就不用源代碼安裝了。用的是rpm安裝
#rpm -ivh vsftpd-2.0.1-5.i386.rpm
這里就安裝好了。
service vsftpd start 啟動vsftpd服務
如果在不設置任何的情況下,可以以匿名的方式訪問該ftp。
注.如果訪問不了的時候請大家要把linux的防火牆也要關閉:
iptables -F 清除防火牆
在安裝好ftp會產生幾個文件:
/etc/vsftpd/vsftpd.conf 主配置文件
/etc/vsftpd.ftpusers 指定哪些用戶不能訪問FTP伺服器
/etc/vsftpd.user_list 文件中指定的用戶是否可以訪問ftp伺服器由vsftpd.conf文件中的userlist_deny的取值來決定。
這幾個文件就是整個ftp控制和禁止用戶的許可權配置。。。
下面我們就來設置一個vsftpd的核心文件
# cd /etc/vsftpd/vsftpd.conf 這就是vsftpd的核心配置文件
anonymous_enable=YES/no 是否允許匿名用戶登錄
anonymous_enable=yes/no 是否允許匿名上傳文件
local_enable= YES/no 是否允許本地用戶登錄
write_enable= YES/no 是否允許本地用戶上傳
guest_enable=yes/no 是否允許虛擬用戶登錄;
local_mask=022 設置本地用戶的文件生成掩碼為022,默認值為077
dirmessage_enable= YES 設置切換到目錄時顯示.message隱含文件的內容
xferlog_enable= YES 激活上傳和下載日誌
connect_from_port_20=YES 啟用FTP數據埠連接
pam_service_name=vsftpd 設置PAM認證服務的配置文件名稱, 該文件存放在/etc/pam.d目錄下
userlist_enable= YES 允許vsftpd.user_list文件中的用戶訪問伺服器
userlist_deny= YES 拒絕vsftpd.user_list文件中的用戶訪問伺服器
listen= YES/no 是否使用獨占啟動方式(這一項比較重要)
tcp_wrappers= YES/no 是否使用tcp_wrappers作為主機訪問控制方式
最主要的就是這些設置了。(這是一般都是默認的不是太懂的不要動)
大家可以設置下面的設置:
ftpd_banner=welcome to ftp service 設置連接伺服器後的歡迎信息
idle_session_timeout=60 限制遠程的客戶機連接後,所建立的控制連接,在多長時間沒有做任何的操作就會中斷(秒)
data_connection_timeout=120 設置客戶機在進行數據傳輸時,設置空閑的數據中斷時間
accept_timeout=60 設置在多長時間後自動建立連接
connect_timeout=60 設置數據連接的最大激活時間,多長時間斷開,為別人所使用;
max_clients=200 指明伺服器總的客戶並發連接數為200
max_per_ip=3 指明每個客戶機的最大連接數為3
local_max_rate=50000(50kbytes/sec)
anon_max_rate=30000 設置本地用戶和匿名用戶的最大傳輸速率限制
pasv_min_port=埠
pasv-max-prot=埠號 定義最大與最小埠,為0表示任意埠;為客戶端連接指明埠;
listen_address=IP地址 設置ftp服務來監聽的地址,客戶端可以用哪個地址來連接;
listen_port=埠號 設置FTP工作的埠號,默認的為21
chroot_local_user=YES 設置所有的本地用戶可以chroot
chroot_local_user=NO 設置指定用戶能夠chroot
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list(只有/etc/vsftpd.chroot_list中的指定的用戶才能執行)
local_root=path 無論哪個用戶都能登錄的用戶,定義登錄帳號的主目錄, 若沒有指定,則每一個用戶則進入到個人用戶主目錄;
chroot_local_user=yes/no 是否鎖定本地系統帳號用戶主目錄(所有);鎖定後,用戶只能訪問用戶的主目錄/home/user,不能利用cd命令向上轉;只能向下;
chroot_list_enable=yes/no 鎖定指定文件中用戶的主目錄(部分),文件:/chroot_list_file=path 中指定;
userlist_enable=YES/NO 是否載入用戶列表文件;
userlist_deny=YES 表示上面所載入的用戶是否允許拒絕登錄;
userlist_file=/etc/vsftpd.user_list 列表文件
這些就是高級設置了。大家可以適當的更改。
#vi /etc/hosts.allow
vsftpd:192.168.5.128:DENY 設置該IP地址不可以訪問ftp服務(vsftpd在獨占啟動方式下支持tcp_wrappers主機訪問控制方式)
時間限制:
#cp /usr/share/doc/vsftpd-1.1.3/vsftpd.xinetd /etc/xinetd.d/vsftpd
#vi /etc/xinetd.d/vsftpd/
修改 disable = no
access_time = hour:min-hour:min (添加配置訪問的時間限制(註:與vsftpd.conf中listen=NO相對應)
例: access_time = 8:30-11:30 17:30-21:30 表示只有這兩個時間段可以訪問ftp

配置文件是 /etc/vsftpd/vsftpd.conf 按如下編輯此文件,編輯文件當然用vi了
1)實現匿名用戶的上傳下載文件
程序代碼:
Anonymous_enable=yes 匿名登陸
Connect_form_port_20=yes 啟用FTP數據埠的數據連接
Pam_service_name=vsftpd 驗證方式
Listen=yes 獨立的VSFTPD伺服器

這樣你就可以實現匿名登陸ftp了,但還不能上傳文件
程序代碼:
Anon_upload_enable=yes 開放上傳許可權
Anon_mkdir_write_enable=yes 可創建目錄的同時可以在此目錄中上傳文件
Write_enable=yes 開放本地用戶寫的許可權
Anon_other_write_enable=yes 匿名帳號可以有刪除的許可權
加上上面的這段,你就可以實現匿名ftp的上傳下載文件了
然後你保存文件,用service vsftpd start來啟動vsftp的服務,然後就可以用ftp了
注意:確定你的防火牆 iptables上打開21埠,不然在登陸ftp的時候會提示socket錯誤,拒絕連接。還有就是當你再次編輯vsftp.conf後用 service vsftpd restart重起的時候總是提示你不能關閉vsftp服務,這時候你用service vsftpd status察看一下他的狀態,如果提示你vsftpd被locked 那可能是因為你的vsftpd.conf中配置的有錯誤,你要重新編輯他,直到能正常重起他為止,一次配置不對,多配置幾次就好了
2)實現本地用戶上傳下載
程序代碼:
新建一個用戶
adser 用戶名 增加一個用戶
passwd 用戶名 增加用戶的密碼
然後看/etc/passwd中最後一行就是你剛才添加的用戶信息
然後編輯/etc/vsftpd/vsftpd.conf文件,
Local_enable=yes 允許使用本地用戶來登陸ftp
在/etc/vsftpd.ftpuser中可以增加想要阻止登陸ftp的用戶
限制用戶只能在自己的目錄中
Chroot_list_enable=yes 文件中的名單可以調用
Chroot_list_file=/etc/vsftpd.chroot_list 前提是chroot_local_user=no,在文件中加入用戶名

vsftpd.conf的參數
程序代碼:
Anonymous_enable=yes 允許匿名登陸
Dirmessage_enable=yes 切換目錄時,顯示目錄下.message的內容
Local_umask=022 FTP上本地的文件許可權,默認是077
Connect_form_port_20=yes 啟用FTP數據埠的數據連接
Xferlog_enable=yes 激活上傳和下傳的日誌
Xferlog_std_format=yes 使用標準的日誌格式
Ftpd_banner=XXXXX 顯示歡迎信息
Pam_service_name=vsftpd 驗證方式
Listen=yes 獨立的VSFTPD伺服器
Anon_upload_enable=yes 匿名用戶上傳許可權
Anon_mkdir_write_enable=yes 創建目錄的同時可以在此目錄中上傳文件
Write_enable=yes 本地用戶寫的許可權
Anon_other_write_enable=yes 匿名帳號可以有刪除的許可權
Anon_world_readable_only=no 匿名用戶瀏覽許可權
Ascii_upload_enable=yes 啟用上傳的ASCII傳輸方式
Ascii_download_enable=yes 啟用下載的ASCII傳輸方式
Banner_file=/var/vsftpd_banner_file 用戶連接後歡迎信息使用的是此文件中的相關信息
Idle_session_timeout=600(秒) 用戶會話空閑後10分鍾
Data_connection_timeout=120(秒) 將數據連接空閑2分鍾斷
Accept_timeout=60(秒) 將客戶端空閑1分鍾後斷
Connect_timeout=60(秒) 中斷1分鍾後又重新連接
Local_max_rate=50000(bite) 本地用戶傳輸率50K
Anon_max_rate=30000(bite) 匿名用戶傳輸率30K
Pasv_min_port=5000 將客戶端的數據連接埠改在
Pasv_max_port=6000 5000—6000之間
Max_clients=200 FTP的最大連接數
Max_per_ip=4 每IP的最大連接數
Listen_port=5555 從5555埠進行數據連接
Local_enble=yes 本地帳戶能夠登陸
Write_enable=no 本地帳戶登陸後無權刪除和修改文件
Chroot_local_user=yes 本地所有帳戶都只能在自家目錄
Chroot_list_enable=yes 文件中的名單可以調用
Chroot_list_file=/etc/vsftpd.chroot_list 前提是chroot_local_user=no
Userlist_enable=yes 在指定的文件中的用戶不可以訪問
Userlist_deny=yes
Userlist_file=/etc/vsftpd.user_list
Banner_fail=/路徑/文件名 連接失敗時顯示文件中的內容
Ls_recurse_enable=no
Async_abor_enable=yes
one_process_model=yes
Listen_address=10.2.2.2 將虛擬服務綁定到某埠
Guest_enable=yes 虛擬用戶可以登陸
Guest_username=所設的用戶名 將虛擬用戶映射為本地用戶
Chown_uploads=yes 改變上傳文件的所有者為root
Chown_username=root
Deny_email_enable=yes 是否允許禁止匿名用戶使用某些郵件地址
Banned_email_file=//任意指定的路徑/xx/
Pasv_enable=yes 伺服器端用被動模式
User_config_dir=/任意指定的路徑//任意文件目錄指定虛擬用戶存放配置文件的路徑