導航:首頁 > IDC知識 > ftp伺服器搭建linux

ftp伺服器搭建linux

發布時間:2020-10-27 00:10:29

1、如何搭建ftp伺服器 linux

Red Hat Linux下架設FTP伺服器

FTP,即File Transfer Protocol,文件傳輸協議。它是目前Internet上最流行的數據傳送方法之一。利用FTP協議,我們可以在FTP伺服器和FTP客戶端之間進行雙向數據傳輸,既可以把數據從FTP伺服器上下載到本地客戶端,又可以從客戶端上傳數據到遠程FTP伺服器。

1.安裝vsftpd伺服器

vsftpd是目前Linux最好的FTP伺服器工具之一,其中的vs就是「Very Secure」(很安全)的縮寫,可見它的最大優點就是安全,除此之外,它還具有體積小,可定製強,效率高的優點。

如果選擇完全安裝RedHat Linux 9.0,則系統會默認安裝vsftpd伺服器。我們可以在終端命令窗口輸入以下命令進行驗證:
[root@ahpeng root] rpm -qa | grep vsftpd

如果結果顯示為「vsftpd-1.1.3-8」,則說明系統已經安裝vsftpd伺服器。如果安裝RedHat Linux 9.0時沒有選擇vsftpd伺服器,則可以在圖形環境下單擊「主菜單→系統設置→添加刪除應用程序」菜單項,在出現的「軟體包管理」對話框里確保選中「FTP伺服器」選項,然後單擊「更新」按鈕,按照屏幕提示插入第3張安裝光碟即可開始安裝。

另外,你也可以直接插入第3張安裝光碟,定位到/RedHat/RPMS下的vsftpd-1.1.3-8.i386.rpm安裝包,然後在終端命令窗口運行以下命令即可開始安裝進程:
[root@ahpeng RPMS] rpm -ivh vsftpd-1.1.3-8.i386.rpm

2.啟動/重新啟動/停止vsftpd服務

從Red Hat Linux9.0開始,vsftpd默認只採用standalone方式啟動vsftpd服務,方法是在終端命令窗口運行以下命令:
[root@ahpeng root] /etc/rc.d/init.d/vsftpd start

重新啟動vsftpd服務:
[root@ahpeng root] /etc/rc.d/init.d/ vsftpd restart

關閉vsftpd服務:
[root@ahpeng root] /etc/rc.d/init.d/ vsftpd stop

確認vsftpd服務已經啟動後,我們可以在任意一台Windows主機的DOS命令窗口裡輸入「ftp FTPAddres」(用實際的FTP伺服器IP地址或者域名代替FTPAddres),注意用戶名、密碼都是ftp(ftp是匿名用戶的映射用戶賬號),如下所述:
Microsoft Windows XP [版本 5.1.2600]
(C) 版權所有 1985-2001 Microsoft Corp.
F:\Peter>;ftp FTPAddress
Connected to FTPAddress
220 (vsFTPd 1.1.3) //vsftpd的響應請求
User (FTPAddress:(none)): ftp //輸入用戶賬號ftp
331 Please specify thepassword.
Password: //輸入密碼ftp
230 Login successful. Havefun.
ftp>;

3.vsftpd的配置

在Red HatLinux 9.0里的vsftpd共有3個配置文件,它們分別是:
vsftpd.ftpusers:位於/etc目錄下。它指定了哪些用戶賬戶不能訪問FTP伺服器,例如root等。
vsftpd.user_list:位於/etc目錄下。該文件里的用戶賬戶在默認情況下也不能訪問FTP伺服器,僅當vsftpd .conf配置文件里啟用userlist_enable=NO選項時才允許訪問。
vsftpd.conf:位於/etc/vsftpd目錄下。它是一個文本文件,我們可以用Kate、Vi等文本編輯工具對它進行修改,以此來自定義用戶登錄控制、用戶許可權控制、超時設置、伺服器功能選項、伺服器性能選項、伺服器響應消息等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。

2、linux創建ftp伺服器的基本命令

1.先掛裝光來盤 mount /dev/cdrom /media
2.然後切換到源media目錄下 cd /media/Server
3.安裝 vsftpd 軟體 rpm -ivh vsftpd*.rpm
4.安裝完以後通過配置 /etc/vsftpd/vsftpd.conf 文件來決定ftp是匿名的還是本地的

3、Linux:為什麼匿名用戶登錄FTP伺服器(vsftpd搭建的),下載不了東西?

目錄許可權已都改為7
vsftpd服務程序中匿名開放是一種最不安全的驗證模式,任何人都可以無需密碼驗證就登陸到FTP服務端主機,這種模式一般只用來保存不重要的公開文件,尤其是在生產環境中更要注意不放敏感文件,當然也非常推薦用《linux就該這么學》第8章中學習的防火牆管理工具(例如Tcp_wrappers服務程序)把vsftpd服務程序的允許訪問主機范圍設置為企業內網,這樣還算能夠保證基本的安全性。
vsftpd服務程序默認已經開啟了匿名訪問模式,需要做的就是進一步允許匿名用戶的上傳、下載文件的許可權,以及讓匿名用戶能夠創建、刪除、更名文件的許可權,這些許可權對於匿名用戶來講非常的危險,咱們只是為了練習Linux系統中vsftpd服務程序的配置能力,十分不推薦在生產環境中使用,匿名用戶的許可權參數及介紹:
參數 作用
anonymous_enable=YES 允許匿名訪問模式。
anon_umask=022 匿名用戶上傳文件的umask值。
anon_upload_enable=YES 允許匿名用戶上傳文件
anon_mkdir_write_enable=YES 允許匿名用戶創建目錄
anon_other_write_enable=YES 允許匿名用戶修改目錄名或刪除目錄
[root@linux ~]# vim linuxprobe/com/chapter-11/html#1121/etc/vsftpd/vsftpd.conf
anonymous_enable=YES
anon_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_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服務程序的主配置文件,還需要重啟vsftpd服務程序來讓新的配置服務參數生效,並且在生產環境中或者紅帽RHCSA、RHCE、RHCA認證考試中也記得一定要把配置過的服務程序加入到開機啟動項中,以保證下次伺服器重啟後依然能夠為用戶正常提供ftp文件傳輸服務:
[root@linux ~]# systemctl restart vsftpd
[root@linux ~]# systemctl enable vsftpd這樣就可以在客戶端上面使用ftp命令連接到遠程的FTP伺服器上面了,FTP服務的匿名開放模式的帳號統一為anonymous,密碼為空。
把iptables防火牆策略清空,而且也在vsftpd服務程序的主配置文件中添加了允許匿名用戶創建目錄和寫入文件的許可權

4、Linux環境下搭建FTP伺服器,配置本地用戶個人配置,userlist-deny=NO

vsftpd是UNIX類操作系統上運行的伺服器名稱,它的名字代表「very secure FTP daemon」,安全性是其設計與開發的一個重要目標。它可運行在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
將本地用戶鎖定在主目中。

三、vsftpd伺服器的配置實例:
基於IP的虛擬FTP伺服器配置
假設伺服器有兩個IP地址,192.168.1.199和192.168.1.200。vsftpd是建立在192.168.1.199上的。現在在192.168.1.200上再提供一個虛擬FTP伺服器。
☆創建虛擬FTP伺服器根目錄
# mkdir –p /var/ftp2/pub
確保/var/ftp2和/var/ftp2/pub目錄的所有者和組均為root,掩碼為755
# chmod 755 /var/ftp2 # chmod 755 /var/ftp2/pub
# chown –R root /var/ftp2 # chown –R : root /var/ftp2

☆ 增加虛擬FTP伺服器的匿名用戶帳號ftp2
# useradd –d /var/ftp2 –M ftp2

☆ 創建虛擬FTP伺服器的配置文件
復制原來的vsftpd.conf作為虛擬FTP伺服器的配置文件,並修改相關參數
# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd2.conf
# vi /etc/vsftpd/vsftpd2.conf
添加或修改參數:
Listen=YES
Listen_address=192.168.1.200
ftp_username=ftp2
anon_root=/var/ftp2

並可參考vsftpd的配置部分的說明做其他配置,如:
??允許匿名用戶上傳文件
Write_enable=YES
Anon_world_readable_only=NO
Anon_upload_enable=YES
Anon_mkdir_write_enable=YES

創建匿名用戶上傳文件的目錄,並設置許可權:
# mkdir /var/ftp/incoming # chmod o+w /var/ftp/incoming

??取消寫許可權
Write_enable=NO
Anon_upload_enable=NO
Anon_mkdir_write_enable=NO
Anon_other_write_enable=NO

??限制下載速度為80KB/s
Anon_max_rate=8000

??控制並發數,以及每個IP地址的並發數
Max_clients=100
Max_per_ip=3

☆啟動虛擬FTP伺服器
# /usr/sbin/vsftpd /etc/vsftpd/vsftpd2.comf
vi /etc/vsftpd/vsftpd.conf
userlist_deny=NO /這個列表裡的人不拒絕,其他人拒絕(包括匿名)
userlist_file=/etc/mp /指明列表的路徑
然後:#vi /etc/mp 把可訪問的名字添加上去
重啟vsftpd 服務即可!

5、linux下ftp伺服器的上傳下載的過程

LinuxftpFTP是ARPANet的標准文件傳輸協議,該網路就是現今Internet的前身。通常我們使用ftp命令,主要是上傳和下載文件,ftp登陸的用戶一般都是一些虛擬用戶,因為這是出於安全考慮。
語法:ftp[-dignv][主機名稱或IP地址]
參數:
-v顯示指令執行過程。
-n不使用自動登陸。
-g關閉本地主機文件名稱支持特殊字元的擴充特性。
-i關閉互動模式,不詢問任何問題。
-d詳細顯示指令執行過程,便於排錯或分析程序執行的情形。
例子:登錄124.16.144.120,命令
[root@localhostlane6]$ftp124.16.144.120
Connectedto124.16.144.120.
220(vsFTPd2.0.5)
530PleaseloginwithUSERandPASS.
530PleaseloginwithUSERandPASS.
KERBEROS_
Name(124.16.144.120:root):anonymous#用戶名
331Pleasespecifythepassword.#用戶密碼
Password:
230Loginsuccessful.
RemotesystemtypeisUNIX.
.

下載文件通常用get和mget這兩條命令
a)get
格式:get[remote-file][local-file]
將文件從遠端主機中傳送至本地主機中.
如要獲取伺服器上c:\a\1.jpg,則
ftp>get/a/1.jpg1.jpg(回車)
b)mget
格式:mget[remote-files]
從遠端主機接收一批文件至本地主機.
如要獲取伺服器上E:\a\下的所有文件,則
ftp>cd/a
ftp>mget*.*(回車)
ftp下輸入prompt命令,批量獲取則不在一一提示。
注意:文件都下載到了linux主機的當前目錄下。比如,在 /root/web下運行的ftp命令,則文件都下載到了/root/web下。

3.上傳文件
a)put
格式:putlocal-file[remote-file]
將本地一個文件傳送至遠端主機中.
如要把本地的1.jpg傳送到遠端主機c:\a,並改名為2.gif
ftp>put1.jpg/a/2.gif(回車)
b)mput
格式:mputlocal-files
將本地主機中一批文件傳送至遠端主機.
如要把本地當前目錄下所有bmp文件上傳到伺服器c:\a下
ftp>cd/a(回車)
ftp>mput*.jpg (回車)
注意:上傳文件都來自於主機的當前目錄下。比如,在 /root/web下運行的ftp命令,則只有在/root/web下的文件linux才會上傳到伺服器c:\a下。
linux教程:Linuxshell中使用ftp自動下載上傳文件
FTP自動登錄批量下載文件
從ftp伺服器192.168.1.171上的/home/data到本地的/home/databackup
!/bin/bash
ftp-v-n192.168.1.171
userguest123456
binary
cd/home/data
lcd/home/databackup
prompt
mget*
close
bye

FTP自動登錄批量上傳文件
從ftp伺服器192.168.1.171上的/home/data到本地的/home/databackup
#!/bin/bash
ftp-v-n192.168.1.171<<END
userguest123456
binary
hash
cd/home/data
lcd/home/databackup
prompt
mput*
bye
END

6、LINUX 下如何開啟 ftp 伺服器

1. 首先伺服器要安裝ftp軟體,查看是否已經安裝ftp軟體下:
#which vsftpd
如果看到有vsftpd的目錄說明伺服器已經安裝了ftp軟體

2. 查看ftp 伺服器狀態
#service vsftpd status

3. 啟動ftp伺服器
#service vsftpd start

4. 重啟ftp伺服器
#service vsftpd restart

5. 查看服務有沒有啟動
#netstat -an | grep 21
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
如果看到以上信息,證明ftp服務已經開啟。

6.如果需要開啟root用戶的ftp許可權要修改以下兩個文件
#vi /etc/vsftpd.ftpusers中注釋掉root
#vi /etc/vsftpd.user_list中也注釋掉root
然後重新啟動ftp服務。

7. vsftpd 500 OOPS: cannot change directory
登陸報錯:
C:\>ftp 192.168.0.101
Connected to 192.168.0.101.
220 (vsFTPd 2.0.5)
User (192.168.0.101:(none)): frank
331 Please specify the password.
Password:
500 OOPS: cannot change directory:/home/frank
Login failed.
ftp> ls
500 OOPS: child died
Connection closed by remote host.
解決方法:
setsebool ftpd_disable_trans 1
service vsftpd restart
就OK了!

這是SELinux的設置命令,在不熟悉SELnux前,把SELinux關掉也可以的。

8. 永久開啟,即os重啟後自動開啟ftp服務
方法一:
cd /etc/xinetd.d ,編輯ftp服務的配置文件gssftp的設置:
vi /etc/xinetd.d/gssftp ,將 修改兩項內容:

(a) server_args = -l –a 去掉-a 改為server_args = -l
(b) disable=yes改為disable=no
(c) 保存退出。

方法二:
(a) system-config-services , 進入圖形界面的System services查看是否有 vsftpd項,如果沒有轉到2.,保存後退出

  (b) 用redhat第三張盤 安裝此服務(開始--刪除/增加程序),200K左右

  (c) #setup
此時能看到vsftpd項,此時選中此services項,保存後退出.

7、如何在Linux操作系統下搭建ipv6 ftp伺服器

必備工具:
一台win7主機,一個VMware CentOS 5.4,設置網路鏈接為bridged.
前提是你會配linux ipv4 ftp伺服器。
1、設置linux ipv6地址
ip -f inet6 addr add 55:1:1:1::555/64 dev eth0
2、設置win7 ipv6地址為55:1:1:1::165/64
設置好後,直接ping 55:1:1:1::555即可,win7會自動識別v4或者v6地址。
C:Usersxxx>ping 55:1:1:1::555
正在 Ping 55:1:1:1::555 具有 32 位元組的數據:
來自 55:1:1:1::555 的回復: 時間=1ms
來自 55:1:1:1::555 的回復: 時間<1ms
55:1:1:1::555 的 Ping 統計信息:
數據包: 已發送 = 2,已接收 = 2,丟失 = 0 (0% 丟失),
往返行程的估計時間(以毫秒為單位):
最短 = 0ms,最長 = 1ms,平均 = 0ms
3、linux中配置vsftped配置文件
[root@xxx ~]# vim /etc/vsftpd/vsftpd.conf
#listen=YES
listen_ipv6=YES
4、重啟vsftpd服務
[root@xxx ~]# service vsftpd restart
關閉 vsftpd: [確定]
為 vsftpd 啟動 vsftpd: [確定]
5、從win7登陸,使用匿名anonymous登陸。
C:Usersxxx>ftp 55:1:1:1::555
連接到 55:1:1:1::555.
220 (vsFTPd 2.0.5)
用戶(55:1:1:1::555:(none)): anonymous
331 Please specify the password.
密碼:
230 Login successful.
ftp> ls
200 EPRT command successful. Consider using EPSV.
150 Here comes the directory listing.
pub
226 Directory send OK.
ftp: 收到 5 位元組,用時 0.00秒 5.00千位元組/秒。
ftp> cd pub
250 Directory successfully changed.
ftp> ls
200 EPRT command successful. Consider using EPSV.
150 Here comes the directory listing.
vpn.cfg
x509.c
226 Directory send OK.
ftp: 收到 149 位元組,用時 0.00秒 49.67千位元組/秒。
ftp>
linux ipv6 ftp伺服器測試登陸成功。
6、永久保存ipv6地址
1) vim /etc/sysconfig/network中增加
NETWORKING_IPV6=yes
2)vim /etc/sysconfig/network-scripts/ifcfg-eth0
IPV6INIT=yes
IPV6ADDR=55:1:1:1::555/64

8、如何在linux系統下的搭建 FTP伺服器

FTP伺服器配置VSFTP主配置文件路徑:/etc/vsftpd/vsftpd.conf,重要參數:
anonymous_enable=yes/no 是否允許匿名用戶訪問
anon_upload_enable=yes/no 是否允許匿名用戶上傳文件
anon_mkdir_write_enable=yes/no 是否允許匿名用戶創建目錄
anon_other_write_enable=yes/no 匿名用戶和虛擬用戶是否擁有刪除許可權
local_enable=yes/no 是否允許本地用戶登陸
write_enable=yes/no 設置全局是否可寫
anon_root=/var 指定匿名用戶目錄
chroot_local_user=yes 鎖定所有用戶到用戶主目錄
chroot_list_enable=yes/no 鎖定列表中的用戶到主目錄,需要配合下一參數使用
chroot_list_file=/etc/vsftpd/chroot_list 指定存儲被鎖定用戶的列表文件位置
chown_uploads=yes/no 匿名用戶上傳所有者指定功能,需要與下一參數配合使用
chown_username=用戶名 指定匿名用戶上傳文件的所有者
max_clients=300 最大客戶端連接數為300
anon_max_rate=30000 匿名用戶和虛擬用戶限速為30K/S
local_max_rate=30000 本地用戶限速為30K/S
max_per_ip=10 每個IP最大連接數
listen_port=22 更改監聽埠

實現如下要求:允許匿名用戶登陸,匿名用戶限速為60K/S,只允許下載。監聽埠為22,最大連接數為10。新建用戶ftp1,限速為200K/S,允許上傳下載刪除新建文件夾。進入目錄/etc/vsftpd,用vi編輯器打開vsftpd.conf主配置文件:

直接添加以下選項: [root@LidadeFedora vsftpd]# service vsftpd restart

添加用戶ftp1,設置登錄腳本為 /sbin/nologin:

vsftp默認目錄為:/var/ftp,為方便測試,在/var/ftp下新建一個文件"testLocal",在"/var/ftp/pub"新建一個文件"testAnon"。

由於使用root用戶新建文件,文件的所有者為root,所以需要把文件的許可權設置為644其他用戶才能讀取該文件

9、如何在linux下開啟FTP服務

Linux下ftp服務可以通過搭建vsftpd服務來實現,以CentOS為例,首先查看系統中是否安裝了vsftpd,可以通過執行命令 rpm -qa |grep vsftpd 來查看是否安裝相應的包,如果沒有安裝那麼可以執行 yum -y install vsftpd 來安裝,安裝之後首先創建ftp用戶,比如ftp_test,命令如下:

useradd -s /sbin/nologin -d /home/ftp_test ftp_test

目錄盡量不要選擇根目錄下,這里是/home/ftp_test,並且ftp_test這個目錄不要手動創建,否則許可權會有問題,執行命令的時候會自動創建,

可以看到許可權現在是對於ftp_test用戶是可讀可寫可執行的,其他用戶和組下面的都沒有任何許可權,現在為ftp_test用戶創建密碼:

passwd ftp_test

執行之後輸入2次密碼確認就設置好了密碼

然後編輯vsftpd配置文件,位置是:vim /etc/vsftpd/vsftpd.conf

找到anonymous_enable這個配置項,默認是YES,修改成NO,表示不允許匿名用戶登錄

現在直接保存配置文件,執行 systemctl start vsftpd.service 啟動vsftp服務,然後可以通過命令: systemctl status vsftpd.service 查看ftp服務的運行狀態,現在就可以用ftp客戶端進行連接了,這里用FileZilla測試,連接正常

現在基本的ftp服務就部署完了,客戶端可以正常上傳,下載,修改文件;但是這樣有個問題就是所有的目錄都暴露給客戶端了,雖然客戶端不能隨意修改刪除其餘的文件,但是因為目錄可見,所以總會有一些風險,所以接下來還需要配置讓ftp用戶只在自己的家目錄下面活動,而無法查看其它任何目錄,同樣是打開配置文件/etc/vsftpd/vsftpd.conf,找到chroot_local_user=YES這個配置,默認是注釋的,這里去掉注釋,表示只讓用戶在自己的目錄裡面活動,如果只是保存這一個配置的話,用ftp連接客戶端會返回500 OOPS: vsftpd: refusing to run with writable root inside chroot()的錯誤,即禁止運行在可寫的家目錄中,因為剛才ftp_test這個目錄有w許可權,而現在我們使用的vsftpd版本是3.0.2 屬於比較新的版本,為了安全性做了一些限制,如果你此時想通過 chmod a-w /home/ftp_test 來去掉目錄的寫許可權,那麼連接成功是沒問題的,但是無法上傳文件了,所以網上很多說修改許可權的方法是不可取的,正確的做法是應該在下面添加一行配置allow_writeable_chroot=YES表示允許對家目錄的寫許可權,具體配置如下:

配置完這兩項以後保存退出,然後執行 systemctl restart vsftpd.service 重啟vsftpd服務,現在重新使用ftp連接就成功了,並且任何操作也是沒問題的

現在可以看到上面的路徑是一個/,對於ftp用戶來說也就是根目錄了,只能在這個目錄下操作,而無法跳出這個目錄

以上就是vsftpd服務的基本搭建過程,實際使用時可以分配多個用戶

10、linux怎麼搭建ftp伺服器

vsftpd是一款在Linux發行版中最受推崇的伺服器程序。特點是小巧輕快,安全易用。並且是一個完全免費開放源碼的ftp軟體方法/步驟1、用在線安裝 yum install vsftpd pam* db4*-y使用命令將vsftp配置為系統服務 chkconfig --level 35 vsftpd on2、配置vsftpd服務的宿主 useradd vsftpdadmin -s /sbin/nologin -M 這個vsftpdadmin只是用來替換root的,並不需要登錄3、建立ftp虛擬宿主帳戶 useradd vsftpuser -s /sbin/nologin -M 這ftpuser只個虛擬帳戶的宿主,本身是不用登錄的4、配置vsftpd.conf 配置之前要先備份一下原來的 vi /etc/vsftpd/vsftpd.conf anonymous_enable=YES -- anonymous_enable=NO //不允許匿名用戶訪問,默認是允許。chroot_list_enable=YES -- chroot_list_enable=YES //不允許FTP用戶離開自己主目錄 增加 #設定虛擬用戶個人Vsftp的配置文件存放路徑。也就是說,這個被指定的目錄里,將存放每個Vsftp虛擬用戶個性的配置文件,一個需要注意的地方就是這些配置文件名必須和虛擬用戶名相同。 user_config_dir=/etc/vsftpd/vconf/userlocal#這一步非常重要,要記住這一步。一會要根據這個配置新建文件夾 #修改埠號 ftp_data_port=4040 reverse_lookup_enable=NO pasv_enable=yes pasv_min_port=48790 pasv_max_port=48800 listen_port=48796 #埠可以根據你自己實際情況配置,也可以用默認埠。但是為了安全考慮根據自己實際情況配置5、建立虛擬用戶文件 mkdir /etc/vsftpd/vconf touch /etc/vsftpd/vonf/vir_user6、建立虛擬用戶 vi /etc/vsftpd/vonf/vir_user virtualuser //用戶名 12345678 //密碼7、生成資料庫 db_load -T -t hash -f /etc/vsftpd/vconf/vir_user /etc/vsftpd/vconf/vir_user.db8、設置資料庫文件訪問許可權 chmod 600 /etc/vsftpd/vconf/vir_user chmod 600 /etc/vsftpd/vconf/vir_user.db9、修改/etc/pam.d/vsftpd auth sufficient pam_userdb.so db=/etc/vsftpd/vconf/vir_user account sufficient pam_userdb.so db=/etc/vsftpd/vconf/vir_user (要想同時使用系統用戶和虛擬用戶,就需要把required改成sufficient)10根據第四步配置的user_config_dir=/etc/vsftpd/vconf/userlocal 新建userlocal文件夾 mkdir /etc/vsftpd/vconf/userlocal11、根據第六步建立的用戶名建立一個文件 例如第六步建立的帳號是virtualuser,則新建一個virtualuser文件 touch /etc/vsftpd/conf/userlocal/virtualuser12、編輯該用戶訪問的文件路徑 vi /etc/vsftpd/conf/userlocal/virtualuser 輸入如下 local_root= //需要指定的網站根目錄,例如www.baidu.com所在文件夾為/www/baidu anonymous_enable=NO #禁止匿名用戶訪問 write_enable=YES #開啟寫許可權 local_umask=022 #上傳後文件的許可權掩碼 anon_upload_enable=NO #關閉匿名下載 anon_mkdir_write_enable=NO #關閉匿名創建文件夾 idle_session_timeout=60 #會話自動關閉時間 60是因分鍾 data_connection_timeout=120 #數據延遲時間 max_clients=10 #最大連接數 max_per_ip=5 #同一個ip同時允許5個IP聯機 local_max_rate=1048576 #實體用戶傳輸速度限制,單位B/s。0代表不限制13、配置就此完成,重啟vsftpd服務:service vsftpd restart。查看系統埠狀態:netstas -tulnp。如果能看到48796埠正在被vsftpd調用說明啟動成功。如有不清楚的可以再繼續看看百度經驗。

與ftp伺服器搭建linux相關的知識