A. linux怎麼搭建ftp伺服器
ftp工作是會啟動兩個通道:
控制通道 , 數據通道
在ftp協議中,控制連接均是由客戶端發起的,而數據連接有兩種模式:port模式(主動模式)和pasv(被動模式)
PORT模式:
在客戶端需要接收數據時,ftp_client(大於1024的隨機埠)-PORT命令->ftp_server(21) 發送PORT命令,這個PORT命令包含了客戶端是用什麼埠來接收數據(大於1024的隨機埠),在傳送數據時,ftp_server將通過自己的TCP 20 埠和PORT中包含的埠建立新的連接來傳送數據。
PASV模式:
傳送數據時,ftp_client--PASV命令-->ftp_server(21) 發送PASV命令時,ftp_server自動打開一個1024--5000之間的隨機埠並且通知ftp_client在這個埠上傳送數據,然後客戶端向指定的埠發出請求連接,建立一條數據鏈路進行數據傳輸。
安裝ftp
#rpm -qa vsftpd 查看是否已經安裝
#yum install -y vsftpd
#rpm -ql vsftpd
/etc/logrotate.d/vsftpd. vsftpd的日誌文件
/etc/pam.d/vsftpd PAM認證文件
/etc/rc.d/init.d/vsftpd 啟動腳本
/etc/vsftpd vsftpd的配置文件存放的目錄
/etc/vsftpd/ftpusers 禁止使用vsftpd的用戶列表文件
/etc/vsftpd/user_list 禁止或允許使用vsftpd的用戶列表文件
/etc/vsftpd/vsftpd.conf 主配置文件
/etc/vsftpd/vsftpd_conf_migrate.sh vsftpd操作的一些變數和設置
/usr/sbin/vsftpd vsftpd的主程序
其他一些說明文檔和手冊文件略!
/var/ftp 匿名用戶主目錄
/var/ftp/pub 匿名用戶的下載目錄
#service vsftpd start
#chkconfig --level vsftpd
#chkconfig --level 2345 vsftpd on
2 匿名用戶的登錄名:ftp(anonymous) 密碼空 ,登錄的目錄為/var/ftp
用匿名用戶登錄的時候默認是只有下載的許可權,沒有上傳,創建和刪除的許可權:
#vim /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES 上傳
anon_mkdir_write_enable=YES 創建
anon_other_write_enable=YES 刪除
#service vsftpd restart
為了安全應該禁止匿名用戶的登錄:
123456 #vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
#anon_upload_enable=YES 上傳
#anon_mkdir_write_enable=YES 創建
#anon_other_write_enable=YES 刪除
#service vsftpd restart
3 創建一個直接登錄系統用戶來登錄ftp:
#useradd -s /sbin/nologin viong
#passwd viong
用戶具有 上傳 創建 下載 切換目錄
------------------------------------------------------------------
4 加強vsftp安全設置:
限制系統用戶鎖定在家目錄:
#vim /etc/vsftpd/vsftpd.conf
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list 限制更多的系統用戶,把需要限制的用戶加入/etc/vsftpd/chroot_list中即可
#touch /etc/vsftpd/chroot_list
#cut -d: -f 1 /etc/passwd >>/etc/vsftpd/chroot_list 將本地用戶都加入到chroot_list
限制重要系統用戶不能登錄ftp:
#cat /etc/vsftpd/ftpusers 默認已經添加了系統中一些比較重要的用戶
#echo "viong" >>/etc/vsftpd/ftpusers 此時viong不能登錄ftp
利用ftp用戶策略允許登錄ftp的系統用戶:
/etc/vsftpd/user_list 只有在這個文件中的用戶才能登錄系統:
#vim /etc/vsftpd/vsftpd.conf
#在userlist_enable=YES 的後面添加
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
設置登錄ftp目標ip地址:用iptables設置
---------------------------------------
搭建支持SSL加密傳輸的vsftpd:
#openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem 生成證書
#vim /etc/vsftpd/vsftpd.conf
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES
rsa_cert_file=/etc/vsftpd/vsftpd.pem
下面是ssl參數一些定義,根據自己需求去修改:
ssl_enable=yes/no //是否啟用 SSL,默認為no
allow_anon_ssl=yes/no //是否允許匿名用戶使用SSL,默認為no
rsa_cert_file=/path/to/file //rsa證書的位置
dsa_cert_file=/path/to/file //dsa證書的位置
force_local_logins_ssl=yes/no //非匿名用戶登陸時是否加密,默認為yes
force_local_data_ssl=yes/no //非匿名用戶傳輸數據時是否加密,默認為yes
force_anon_logins_ssl=yes/no //匿名用戶登錄時是否加密,默認為no
force_anon_data_ssl=yes/no //匿名用戶數據傳輸時是否加密,默認為no
ssl_sslv2=yes/no //是否激活sslv2加密,默認no
ssl_sslv3=yes/no //是否激活sslv3加密,默認no
ssl_tlsv1=yes/no //是否激活tls v1加密,默認yes
ssl_ciphers=加密方法 //默認是DES-CBC3-SHA
#service vsftpd restart
用flashftp連接:
連接類型為:FTP使用公開SSL(驗證SSL)
地址:192.168.137.130:21
登錄類型:普通
用戶:viong
密碼:123
B. 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連接,你會發現奇跡發生了
C. 如何在linux下搭建ftp服務
在LINXU平台上使用的FTP軟體有Wu-ftpd、Proftpd和vsftpd等。Wu-ftpd的歷史悠久,是最流行的FTP伺服器程序,穩定、出色,但發布較早,安全不及Proftpd及vsftpd。Proftpd在Wu-ftpd之後開發,安全性及穩定性有所提高。而vsftpd則是在Proftpd之後開發的,意為Very Sucure,吸取了Wu-ftpd和Proftpd的優點,安全性、速度、穩定性都有很大提高。
RHEL4(AS)中vsftpd的RPM軟體包在第1張光碟中,名為vsftpd-2.0.1-5.i386.rpm。默認情況下沒有安裝。Vsftpd的主配置文件是/etc/vsftpd.conf。未修改的主配置文件去掉注釋後如下(「;」後為解釋):
anonymous_enable=YES ;是否允許匿名訪問
local_enable=YES ;是否允許本地用戶登錄
write_enable=YES ;是否允許本地用戶寫入
local_umask=022 ;生向掩碼(文件生成掩碼),跟許可權有關,我記不住了,有興趣的朋友可以去查查,知道的朋友也請告訴我一下
dirmessage_enable=YES ;切換到FTP中的某目錄時,是否顯示該目錄下的隱含文件「.message」
xferlog_enable=YES ;是否啟用啟用上傳和下載日誌
connect_from_port_20=YES ;是否啟用FTP數據埠的連接請求
xferlog_std_format=YES ;是否讓FTP使用ftpd xferlog日誌格式
pam_service_name=vsftpd ;設置PAM認證服務的配置文件,位於/etc/pam.d目錄下
userlist_enable=YES ;需與userlist_file配合使用,稍後介紹
listen=YES ;是否處於獨立啟動模式
tcp_wrappers=YES ;為YES時,以tcp_wrappers作為主機訪問控制方式
(去掉後,vsftpd的配置文件就這么一點^_^。)
/etc/vsftpd.ftpusers保存著不允許進行FTP登錄的用戶帳戶,通常是許可權很高的用戶,以提高FTP的安全。
至於/etc/vsftpd.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
…………(後略)
前面說的userlist_enalbe就跟這有關(重點是第二、三行)
另外,/vsr/ftp是匿名用戶的宿主目錄.
配置vsftpd的虛擬用戶:
1. 建立虛擬用戶口令庫文件(奇數行為用戶名,偶數行為密碼):
[[email protected]]cat vsftpd
abc
abc12321cba
efg
vsftpd.conf
2. 生成認證文件(db_load生成認證文件,「-f」用於指明虛擬用戶的口令庫文件,即:vsftpd.操作中,口令庫文件名可隨便取.「-t hash」指加密方式)
db_load -T -t hash -f vsftpd /etc/vsftpd/vsftpd_login.db
3.設置許可權,以提高安全:
chmod 600 /etc/vsftpd/vsftpd_login.db
4. 建立虛擬用戶的PAM文件:
cat /etc/pam.d/vsftpd.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
5.建立虛擬用戶的目錄,並設置相應許可權:
useradd -d /home/vsftpd virtual
chmod 700 /home/vsftpd/
6. 編輯vsftpd的配置文件:
vi /etc/vsftpd/vsftpd.conf
guest_enable=yes
guest_username=virtual
pam_service_name=vsftpd.vu
7. 對虛擬用戶設置不同許可權:
vi /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd_user_conf ;設置主配置文件
(:wq #保存退出)
mkdri /etc/vsftpd_user_conf
vi /etc/vsftpd_user_conf/abc ;為虛擬用戶配置許可權
anon_world_readable_only=no ;用戶可以瀏覽目錄並下載文件
anon_upload_enable=yes ;用戶可以上傳文件
anon_mkdir_write_enable=yes ;用戶可以添加和刪除目錄
anon_other_write_enable=yes ;用戶可以進行其它操作,如改名、刪除文件等。
(:wq)
service vsftpd restart
如果只想讓用戶下載的話,則配置為:
anon_world_readable_only=no
好了,自個兒看效果吧!!!
常見問題:
1.無法匿名訪問?
可能是vsftpd.conf中的anonyoums_enable出的錯,或者是你根本就沒連接到伺服器,也有可能是伺服器的iptables出的問題(過濾掉了),這種情況下一般與selinux無關。還有就是服務未運行。
2.創建的虛擬用戶無法訪問vsftpd?
原因或許是在創建虛擬用戶的時候出的錯,如果無法使用虛擬用戶訪問vsftpd的時候,建議先檢查在創建虛擬用戶時,打錯什麼字沒有,如果還是沒有檢查出什麼問題來的話,建議你直接推倒重做。還是一點差點忘記說了,就是在創建虛擬用戶的時候,盡量將虛擬用戶的密碼設長一點、復雜一點,我在測試的時候,就是因為密碼太短而幾次沒有成功。
3.在cmd下用虛擬用戶登錄vsftpd時,出現「200 PORT command successful. Consider using PASV.」的字樣是怎麼回事啊?
你所訪問的電腦上的防火牆在做怪!!!我就上過這個當!!!
4.其它問題?
一般情況下,vsftpd出現問題大多數都是因為配置文件出錯的,如果想要測試的話,建議在命令行了進行測試,當vsftpd出現問題時,它會在訪問端的界面上顯示原因。另外不成功的原因是因為伺服器上的防火牆沒有配置好。
D. Linux怎樣創建FTP伺服器
1、環境:ftp為vsftp。被限制用戶名為test。被限制路徑為/home/ftp2、建用戶:在root用戶下:useradd-d/home/ftptest//增加用戶test,並制定test用戶的主目錄為/home/ftppasswdtest//為test設置密碼3、更改用戶相應的許可權設置:(對於一般情況,簡單添加一個用戶的話,這一步,可以不要!!一般情況下,配置ftp也不需要這一步)usermod-s/sbin/nologintest//限定用戶test不能telnet,只能ftpusermod-s/bin/bashtest//用戶test恢復正常usermod-d/testtest//更改用戶test的主目錄為/test4,修改/etc/vsftpd/vsftpd.conf文件如下:anonymous_enable=NO##.local_enable=YES##.write_enable=YES最後在該文件的最後面添加如下行:userlist_enable=YESuserlist_deny=NOuserlist_file=/etc/vsftpd/vsftpd.user_list最後保存/etc/vsftpd/vsftpd.conf文件。5、限制用戶只能訪問/home/test,不能訪問其他路徑修改/etc/vsftpd/vsftpd.conf如下:chroot_list_enable=YES//限制訪問自身目錄#(defaultfollows)chroot_list_file=/etc/vsftpd/vsftpd.chroot_list編輯/etc/vsftpd/vsftpd.chroot_list文件,將受限制的用戶添加進去,每個用戶名一行添加後如下:test/home/ftp編輯/etc/vsftpd/vsftpd.user_list文件,將受限制的用戶添加進去,每個用戶名一行添加後如下:test改完配置文件,不要忘記重啟vsFTPd伺服器[root@linuxsir001root]#/etc/init.d/vsftpdrestart啟動後,在進行測試,使用本地用戶test及其密碼登錄,成功。如果此時還不能執行寫操作或登錄時出現其它錯誤,則要查看test用戶對應的文件夾/home/ftp,test用戶是否有對此文件夾的寫許可權。6、如果需要允許用戶修改密碼,但是又沒有telnet登錄系統的許可權:(對於一般情況,簡單添加一個用戶的話,這一步,可以不要!!一般情況下,配置ftp也不需要這一步)usermod-s/usr/bin/passwdtest//用戶telnet後將直接進入改密界面
E. 怎麼用linux搭建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服務端等待客戶端的鏈接請求,默認情況下被動模式,因為咱們在第八章的防火牆課程中學習過,防火牆一般更多的是過濾從外網到內網的流量數據,因此有些時候必須改成主動模式才可以傳輸。
Vsftpd是一款運行在Linux操作系統上面的FTP服務端程序,Very SecureFTPDaemon顧名思義就是非常安全的FTP傳輸程序,vsftpd服務程序不僅完全開源且免費,而且具有很高的安全性、傳輸速率、支持虛擬用戶驗證功能等等其他FTP服務端程序所不具備的特點。配置妥當yum軟體倉庫後就可以來安裝vsftpd服務程序了:
#www.linuxprobe.com
[root@linuxprobe~]#yuminstallvsftpd-y
Loadedplugins:langpacks,proct-id,subscription-manager
………………省略部分輸出信息………………
================================================================================
================================================================================
Installing:
vsftpdx86_643.0.2-9.el7rhel166k
TransactionSummary
================================================================================
Install1Package
Totaldownloadsize:166k
Installedsize:343k
Isthisok[y/d/N]:y
Downloadingpackages:
Runningtransactioncheck
Runningtransactiontest
Transactiontestsucceeded
Runningtransaction
Installing:vsftpd-3.0.2-9.el7.x86_641/1
Verifying:vsftpd-3.0.2-9.el7.x86_641/1
Installed:
vsftpd.x86_640:3.0.2-9.el7
Complete!
iptables防火牆管理工具中默認禁止了ftp傳輸協議的埠號,因此咱們在正式配置vsftpd服務程序前還需要清空一下iptables防火牆的默認策略,並將當前已經被清理的防火牆策略狀態保存下來:
[root@linuxprobe~]#iptables-F
[root@linuxprobe~]#serviceiptablessave
iptables:Savingfirewallrulesto/etc/sysconfig/iptables:[OK]
vsftpd服務程序的主配置文件(/etc/vsftpd/vsftpd.conf)中參數總共有123行左右,但大多數都是以#(井號)開頭的注釋信息,咱們可以用grep命令的-v參數來過濾並反選出沒有包含#(井號)的參數行,也就是把所有的注釋信息都過濾掉,這樣再通過輸出重定向符寫會到原始的主配置文件名稱中即可:
[root@linuxprobe~]#mv/etc/vsftpd/vsftpd.conf/etc/vsftpd/vsftpd.conf_bak
[root@linuxprobe~]#grep-v"#"/etc/vsftpd/vsftpd.conf_bak>/etc/vsftpd/vsftpd.conf
[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服務程序的主配置文件中常用的參數及作用介紹,您現在只要簡單的瀏覽一下,接下來的實驗中如果不明白再過來查閱就可以。
F. 如何使用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=/任意指定的路徑//任意文件目錄指定虛擬用戶存放配置文件的路徑
G. 如何在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服務的基本搭建過程,實際使用時可以分配多個用戶
H. 虛擬機linux怎麼連接外部ftp
下面是在虛擬機中的linux的ftp的基本配置(redhat AS 4.0為例): 首先要安裝linux下的vsftp軟體包。 rpm -qagerp 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=/任意指定的路徑//任意文件目錄指定虛擬用戶存放配置文件的路徑
I. 如何在linux上搭建ftp伺服器
在創建FTP伺服器之有先命令: ps -ef |grep vsftpd
查一下系統有沒有安裝vsftpd這個伺服器,如果出現如下圖所示的界面說明沒有安裝。
然後再執行:yum install vsftpd -y
進行在線安裝vsftpd這個服務。
安裝成功以後需要把匿名登陸的這個功能關閉了。
使用命令: vim /etc/vsftpd/vsftpd.conf
然後在里成找到:
anonymous_enable=NO
然後再查看一下vsftpd這個服務有沒有啟動。
使用命令: chkconfig --list
如果你如下圖所示一樣沒有啟動。
沒有啟動使用啟動:chkconfig --level 35 vsftpd on
再接下來就是創建用戶名。
創建用戶名:useradd jingyan
再然後就是創建密碼。
命令:passwd jingyan
再輸入兩次密碼就可以了。
最後重啟一下服務:service vsftpd start
如果出現啟動失敗則可以使用:/etc/rc.d/init.d/vsftpd restart
成功鏈接FTP伺服器上。