Linux不同版本ftp
❶ 敘述ftp伺服器的工作原理,以及在linux下FTP伺服器的配置步驟
FTP是File Transfer Protocol(文件傳輸協議)的縮寫,用來在兩台計算機之間互相傳送文件。相比於HTTP,FTP協議要復雜得多。復雜的原因,是因為FTP協議要用到兩個TCP連接,一個是命令鏈路,用來在FTP客戶端與伺服器之間傳遞命令;另一個是數據鏈路,用來上傳或下載數據。
FTP協議有兩種工作方式:PORT方式和PASV方式,中文意思為主動式和被動式。
PORT(主動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請求,伺服器接受連接,建立一條命令鏈路。當需要傳送數據時,客戶端在命令鏈路上用PORT命令告訴伺服器:「我打開了XXXX埠,你過來連接我」。於是伺服器從20埠向客戶端的XXXX埠發送連接請求,建立一條數據鏈路來傳送數據。
PASV(被動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請求,伺服器接受連接,建立一條命令鏈路。當需要傳送數據時,伺服器在命令鏈路上用PASV命令告訴客戶端:「我打開了XXXX埠,你過來連接我」。於是客戶端向伺服器的XXXX埠發送連接請求,建立一條數據鏈路來傳送數據。
linux下配置FTP的話,還看系統的,不同的版本配置不同,可以,google一下.應該有很多資料;推薦個網址:www.chinaunix.com
❷ 如何在linux 伺服器上做FTP。請指教。
linux 下FTP安裝及配置
一、FTP的安裝
1、檢測是否安裝了FTP :[root@localhost ~]# rpm -q vsftpd
如果安裝了會顯示版本信息:
[root@localhost ~]# vsftpd-2.0.5-16.el5_5.1
否則顯示:[root@localhost ~]# package vsftpd is not installed
2、如果沒安裝FTP,運行yum install vsftpd命令
具體的細節如下:(如果無法更新,你先配置能訪問互聯網,我有文檔叫 CentOS 在 VMware下,如何聯網到Internet的解決辦法 可以解決無法上網的問題)
[root@localhost ~]# yum install vsftpd
[root@localhost ~]#
3、完成ftp安裝後,將 /etc/vsftpd/user_list文件和/etc/vsftpd/ftpusers文件中的root這一行注釋掉
# root
4、執行以下命令
# setsebool -P ftpd_disable_trans=1
修改/etc/vsftpd/vsftpd.conf,在最後一行處添加local_root=/
5、重啟ftp進程 #service vsftpd restart
註:每次修改過ftp相關的配置文件,都需要重啟ftp進程來生效。
ftp伺服器就可以使用了。
*********************************************************************
二、vsftpd的配置文件說明:
vsftpd.ftpusers:位於/etc目錄下。它指定了哪些用戶賬戶不能訪問FTP伺服器,例如root等。
vsftpd.user_list:位於/etc目錄下。該文件里的用戶賬戶在默認情況下也不能訪問FTP伺服器,僅當vsftpd .conf配置文件里啟用userlist_enable=NO選項時才允許訪問。
vsftpd.conf:位於/etc/vsftpd目錄下。來自定義用戶登錄控制、用戶許可權控制、超時設置、伺服器功能選項、伺服器性能選項、伺服器響應消息等FTP伺服器的配置。
(1)用戶登錄控制
anonymous_enable=YES,允許匿名用戶登錄。
no_anon_password=YES,匿名用戶登錄時不需要輸入密碼。
local_enable=YES,允許本地用戶登錄。
deny_email_enable=YES,可以創建一個文件保存某些匿名電子郵件的黑名單,以防止這些人使用Dos攻擊。
banned_email_file=/etc/vsftpd.banned_emails,當啟用deny_email_enable功能時,所需的電子郵件黑名單保存路徑(默認為/etc/vsftpd.banned_emails)。
(2)用戶許可權控制
write_enable=YES,開啟全局上傳許可權。
local_umask=022,本地用戶的上傳文件的umask設為022(系統默認是077,一般都可以改為022)。
anon_upload_enable=YES,允許匿名用戶具有上傳許可權,很明顯,必須啟用write_enable=YES,才可以使用此項。同時我們還必須建立一個允許ftp用戶可以讀寫的目錄(前面說過,ftp是匿名用戶的映射用戶賬號)。
anon_mkdir_write_enable=YES,允許匿名用戶有創建目錄的權利。
chown_uploads=YES,啟用此項,匿名上傳文件的屬主用戶將改為別的用戶賬戶,注意,這里建議不要指定root賬號為匿名上傳文件的屬主用戶!
chown_username=whoever,當啟用chown_uploads=YES時,所指定的屬主用戶賬號,此處的whoever自然要用合適的用戶賬號來代替。
chroot_list_enable=YES,可以用一個列表限定哪些本地用戶只能在自己目錄下活動,如果chroot_local_user=YES,那麼這個列表裡指定的用戶是不受限制的。
chroot_list_file=/etc/vsftpd.chroot_list,如果chroot_local_user=YES,則指定該列表(chroot_local_user)的保存路徑(默認是/etc/vsftpd.chroot_list)。
nopriv_user=ftpsecure,指定一個安全用戶賬號,讓FTP伺服器用作完全隔離和沒有特權的獨立用戶。這是vsftpd系統推薦選項。
async_abor_enable=YES,強烈建議不要啟用該選項,否則將可能導致出錯!
ascii_upload_enable=YES;ascii_download_enable=YES,默認情況下伺服器會假裝接受ASCⅡ模式請求但實際上是忽略這樣的請求,啟用上述的兩個選項可以讓伺服器真正實現ASCⅡ模式的傳輸。
注意:啟用ascii_download_enable選項會讓惡意遠程用戶們在ASCⅡ模式下用「SIZE/big/file」這樣的指令大量消耗FTP伺服器的I/O資源。
這些ASCⅡ模式的設置選項分成上傳和下載兩個,這樣我們就可以允許ASCⅡ模式的上傳(可以防止上傳腳本等惡意文件而導致崩潰),而不會遭受拒絕服務攻擊的危險。
(3)用戶連接和超時選項
idle_session_timeout=600,可以設定默認的空閑超時時間,用戶超過這段時間不動作將被伺服器踢出。
data_connection_timeout=120,設定默認的數據連接超時時間。
(4)伺服器日誌和歡迎信息
dirmessage_enable=YES,允許為目錄配置顯示信息,顯示每個目錄下面的message_file文件的內容。
ftpd_banner=Welcome to blah FTP service,可以自定義FTP用戶登錄到伺服器所看到的歡迎信息。
xferlog_enable=YES,啟用記錄上傳/下載活動日誌功能。
xferlog_file=/var/log/vsftpd.log,可以自定義日誌文件的保存路徑和文件名,默認是/var/log/vsftpd.log。
anonymous_enable=YES 允許匿名登錄local_enable=YES 允許本地用戶登錄
write_enable=YES 開放本地用戶寫許可權
local_umask=022 設置本地用戶生成文件的掩碼為022
#anon_upload_enable=YES 此項設置允許匿名用戶上傳文件
#anon_mkdir_write_enable=YES 開啟匿名用戶的寫和創建目錄的許可權
dirmessage_enable=YES 當切換到目錄時,顯示該目錄下的.message隱藏文件的內容
xferlog_enable=YES 激活上傳和下載日誌
connect_from_port_20=YES 啟用FTP數據埠的連接請求
#chown_uploads=YES 是否具有上傳許可權. 用戶由chown_username參數指定。
#chown_username=whoever 指定擁有上傳文件許可權的用戶。此參數與chown_uploads聯用。
#xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES 使用標準的ftpd xferlog日誌格式
#idle_session_timeout=600 此設置將在用戶會話空閑10分鍾後被中斷
#data_connection_timeout=120 將在數據連接空閑2分鍾後被中斷
#ascii_upload_enable=YES 啟用上傳的ASCII傳輸方式
#ascii_download_enable=YES 啟用下載的ASCII傳輸方式
#ftpd_banner=Welcome to blah FTP service 設置用戶連接伺服器後顯示消息
#deny_email_enable=NO 此參數默認值為NO。當值為YES時,拒絕使用banned_email_file參數指定文件中所列出的e-mail地址用戶登錄。
#banned_email_file=/etc/vsftpd.banned_emails 指定包含拒絕的e-mail地址的文件.
#chroot_list_enable=YES 設置本地用戶登錄後不能切換到自家目錄以外的別的目錄
#chroot_list_file=/etc/vsftpd.chroot_list
#ls_recurse_enable=YES
pam_service_name=vsftpd 設置PAM認證服務的配置文件名稱,該文件存放在/etc/pam.d/
userlist_enable=YES 此項配置/etc/vsftpd.user_list中指定的用戶也不能訪問伺服器,若添加userlist_deny=No,則僅僅/etc/vsftpd.user_list文件中的用戶可以訪問,其他用戶都不可以訪問伺服器。如過userlist_enable=NO,userlist_deny=YES,則指定使文件/etc/vsftpd.user_list中指定的用戶不可以訪問伺服器,其他本地用戶可以訪問伺服器。
listen=YES 指明VSFTPD以獨立運行方式啟動
tcp_wrappers=YES 在VSFTPD中使用TCP_Wrappers遠程訪問控制機制,默認值為YES
三、舉例建立一個名為test的賬戶並進行配置
根據實際情況對FTP進行配置後,下面舉例介紹建立一個FTP賬戶並進行簡單的配置:
1、創建一個賬號為test的賬戶:
#mkdir /tmp/test //首先創建好目錄
#adser -d /tmp/test -g ftp -s /sbin/nologin test //-s /sbin/nologin是讓其不能登陸系統,-d 是指定用戶目錄為/opt/srsman ,即該賬戶只能登陸ftp,卻不能用做登陸系統用。
#passwd test
Changing password for user beinan.//接下來會出現讓你設置新的密碼
New password:
Retype new password:
passwd: all authentication tokens updated successfully
創建賬戶成功!
2、限制用戶目錄,不得改變目錄到上級
修改/etc/vsftpd/vsftpd.conf
將這兩行
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list
注釋去掉
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
新增一個文件: /etc/vsftpd/chroot_list
內容寫需要限制的用戶名:
test
重新啟動vsftpd
# service vsftpd restart
3、最後為了防止伺服器由於斷電、重啟等現象發生,導致ftp進程在開機後未啟動,將其添加到開機啟動文件中:
(1)找到/etc/rc.local文件
(2)打開該文件,在最後一行添加:service vsftpd start
(3)保存,退出
4、通過在「我的電腦」中輸入ftp://192.168.179.30(填該ftp伺服器ip地址)進入ftp伺服器,輸入設置好的賬戶登陸即可。
5、CMD-》ftp 192.168.1.2
Cd /soft
Put c:\sss.log //這樣可以成功上傳, VSFTP不支持絕對目錄上傳,只能夠到當前目錄下上傳
❸ 在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的ftp問題
1、首先查看一下是否安裝了ftp rpm-qa|grep vsftpd
2、下載vsftpd-xxx.rpm包
3、rpm -ivh vsftpd-xxx.rpm 安裝ftp。
❺ 如何在linux下開啟FTP服務
Linux下ftp服務可以通過搭建vsftpd服務來實現,以CentOS為例,首先查看系統中是否安裝了vsftpd,可以通過執行命令rpm -qa |grepvsftpd來查看是否安裝相應的包,如果沒有安裝那麼可以執行yum-yinstallvsftpd來安裝,安裝之後首先創建ftp用戶,比如ftp_test,命令如下:
useradd-s/sbin/nologin-d/home/ftp_testftp_test
目錄盡量不要選擇根目錄下,這里是/home/ftp_test,並且ftp_test這個目錄不要手動創建,否則許可權會有問題,執行命令的時候會自動創建,
現在可以看到上面的路徑是一個/,對於ftp用戶來說也就是根目錄了,只能在這個目錄下操作,而無法跳出這個目錄
以上就是vsftpd服務的基本搭建過程,實際使用時可以分配多個用戶
❻ Linux中的FTP下載問題!
先告訴你的linux版本,Redhat?ubuntu?,基本上linux系統都是自帶ftp
server軟體的,不需要另下包編譯安裝。
❼ linux中常用的ftp伺服器有哪些
通常使用的vsftpd、proftpd搭建ftp伺服器,不知道樓主是不是問的這個
❽ linux 有哪幾種 ftp伺服器,哪一個性能最完善
linux下常用的ftp伺服器軟體linux下常用的ftp伺服器軟體主要有:ProFTPD
、WU-FTPD
、VSFTPD、
Pure-FTP
。最常見就這幾個,而且也是linux中帶的,比較容易配置。我喜歡用VSFTPD。
❾ Linux裡面FTP主被動模式區別是什麼
題主你好,
首先要說的是FTP的通信是由兩部分組成的: 發送命令 + 傳輸數據.
換種說法就是: 發送命令 與 傳輸數據 是走的兩條道(不同的tcp連接).
發送命令 這條道方向是固定的, 總是由客戶端向服務端發起請求把這條道鋪起來.
而 傳輸數據 這條道方向就不是固定的了, 可能與 發送命令 一樣, 也是由客戶端向服務端發起請求, 還可能是反向的,即由服務端向客戶端發起請求來鋪起傳輸數據的這條道.
而題主的問題里所說的FTP主動被模式其實指的就是 傳輸數據 這條道的鋪設到底是 誰向誰發起請求? 這里的主被動是根據 服務端 來說的, 即 服務端主動向客戶端發起的就是所謂的主動模式, 反之, 客戶端向服務端發起的(服務端被連接),即是被動模式
最後再說下區別: 一開始的ftp只有主動模式,即服務端主動向客戶端發請求建立連接,然後利用建立的這個連接進行數據傳輸. 但後來客戶端這邊的防火牆很多時候為了安全考慮只相信自己向外發送的請求, 不相信外面連進來的請求,會把從外向內的請求給截斷,說白了就是數據傳輸這條道沒建成, 數據肯定就傳輸不了的. 所以後來又開發了被動模式,讓客戶端主動向服務端發請求建立連接, 這樣防火牆一看是從自己家主動發出去的,就不會攔截,這樣路鋪好了, 數據自然能成功傳輸了.
寫在最後: 希望可以幫到題主, 歡迎追問.
❿ linux 除了vsftpd 還有什麼ftp
一般來講,人們將電腦聯網的首要需求就是獲取資料,而文件傳輸是其中非常重要的方式之一,21世紀的互聯網是由幾千萬台個人電腦、工作站、小型機、大型機等等不同型號、架構的物理設備共同組成的,即便是個人電腦上也可能會裝有諸如Linux、Windows、UNIX、DOS等等不同的操作系統,所以為了能夠在如此復雜多樣的操作設備之間解決文件傳輸問題,於是便有了統一的FTP文件傳輸協議(File Transfer Protocol),這是一種能夠讓使用者在互聯網中上傳、下載文件的傳輸協議。很多同學在大學期間只知道FTP協議使用了21埠號,但實際上FTP文件傳輸協議默認佔用了20、21兩個埠號,20埠號用於進行數據傳輸,21埠號用於接受客戶端執行的相關FTP命令與參數,FTP服務端普遍更多的應用於內網中,具有易於搭建、方便管理的特點,並且可以藉助FTP客戶端工具還可以輕松實現文件的多點下載和斷點續傳技術,FTP協議的傳輸拓撲如圖所示。
FTP伺服器就是支持FTP傳輸協議的主機,與大多數服務程序一樣,要想完成文件傳輸則需要FTP服務端和客戶端的配合才行,用戶可以通過客戶端向FTP服務端發送指令參數,FTP服務端從而會依據接受到的命令作出相應動作,比如顯示執行結果或把文件傳輸到客戶端主機上,FTP協議的傳輸有兩種不同的模式,主動模式是讓FTP服務端主動向客戶端發起鏈接請求,而被動模式則是讓FTP服務端等待客戶端的鏈接請求,默認情況下被動模式,咱們在第8章的防火牆課程中學習過,防火牆一般更多的是過濾從外網到內網的流量數據,因此有些時候必須改成主動模式才可以傳輸。
Vsftpd是一款運行在Linux操作系統上面的FTP服務端程序,Very SecureFTPDaemon linuxprobe/com/chapter-11.html#113_TFTP顧名思義就是非常安全的FTP傳輸程序,vsftpd服務程序不僅完全開源且免費,而且具有很高的安全性、傳輸速率、支持虛擬用戶驗證功能等等其他FTP服務端程序所不具備的特點.
TFTP簡單文件傳輸協議:
TFTP簡單文件傳輸協議是一種基於TCP/IP協議用於在客戶端和伺服器之間進行簡單文件傳輸的協議——即提供不復雜、開銷不大的文件傳輸服務,亦可把其當作是FTP協議的簡化版本。TFTP並不能提供類似於FTP服務那樣豐富強大的命令指令功能,甚至不能提供目錄的遍歷瀏覽,在安全性方面也不能提供類似於FTP服務的驗證功能,而且傳輸基於UDP協議的69埠號,導致文件的傳輸過程也並不像FTP協議那樣可靠。但由於TFTP協議不需要客戶端的許可權驗證,也不需要太多無必要的系統和網路帶寬損耗,因此可以提供比FTP協議更有效率的文件傳輸體驗。