欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

FTP服務(wù)器的搭建及配置文件的使用詳解

 更新時間:2023年10月23日 15:52:07   作者:晚妍  
FTP是用來在兩臺計算機之間傳輸文件,是Internet中應(yīng)用非常廣泛的服務(wù)之一,本文就來介紹FTP服務(wù)器的搭建及配置文件的使用,具有一定的參考價值,感興趣的可以了解一下

FTP簡介

文件傳輸協(xié)議FTP(File Transfer FTP)作為網(wǎng)絡(luò)共享文件的傳輸協(xié)議,在網(wǎng)絡(luò)應(yīng)用軟件中具有廣泛的應(yīng)用。

FTP協(xié)議

FTP是TCP/IP的協(xié)議簇協(xié)議之一,其主要功能是借助網(wǎng)絡(luò)實現(xiàn)遠距離主機間的文件傳輸。

1.使用Vsftpd服務(wù)器

Vsftpd (Very Secure FTP)是linux系統(tǒng)的常用軟件。

1.1 Vsftpd的服務(wù)器的安裝與啟動

Vsftpd在yum源中的名稱就是叫做vsftpd

yum install -y vsftpd* //*代表下載所有關(guān)于vsftpd的軟件包

1.2 Vsftpd服務(wù)器的用戶類型

Vsftpd的用戶類型主要分為匿名用戶、本地用戶和虛擬用戶。

(1)匿名用戶:如果Vsftpd服務(wù)器提供匿名訪問功能,默認(rèn)的匿名訪問用戶為anonymous或ftp,密碼為空,匿名用戶登錄后進入到工作目錄是/var/ftp

(2)本地用戶:本地用戶信息存儲在/etc/passwd文件中,本地用戶輸入用戶名和密碼后可登錄vsftpd,并且直接進入該用戶的宿主目錄。

(3)虛擬用戶:旨在vsftpd服務(wù)器中擁有賬號,并且該賬號只能用于文件傳輸服務(wù)的專有用戶,也稱guest用戶。該類用戶可以通過輸入用戶名和密碼進行授權(quán)登錄。

2. Vsftpd服務(wù)器的測試

FTP服務(wù)器的運行模式基于服務(wù)器、客戶端,服務(wù)器安裝完Vsftpd軟件包后,可以通過客戶端進行測試。

1.首先下載vsftpd與其相關(guān)的服務(wù)

yum install -y vsftpd* ftp*

2.然后打開ftp服務(wù)的端口,使防火墻放行ftp服務(wù)

 firewall-cmd --zone=public --add-port=21/tcp --per
 systemctl restart vsftpd firewalld

3.在虛擬機上以匿名用戶身份進行測試,使用ftp命令,后面輸入本機的ip地址,用戶名是ftp,密碼是空,登錄過程如下。

[root@linux2 ~]# ftp 192.168.123.102
Connected to 192.168.123.102 (192.168.123.102).
220 (vsFTPd 3.0.2)
Name (192.168.123.102:root): ftp
331 Please specify the password.
Password:
230 Login successful. 
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
ftp> ls

以上命令中的192.168.123.102是vsftpd服務(wù)器的ip地址

終端打印信息“230 Login successful. ”說明登錄成功

3.FTP常用的命令

命令說明
ls查看服務(wù)器當(dāng)前目錄的文件
mkdir 【目錄名】在服務(wù)器新建目錄
put 文件名向服務(wù)器上傳指定的一個文件
mput 文件名列表向服務(wù)器上傳多個文件
chmod改變服務(wù)器中的文件權(quán)限
?或help顯示內(nèi)部命令的幫助信息
open 域名或IP地址建立于指定服務(wù)器的連接
close終止遠端的進程,返回命令狀態(tài)
bye或quit推出服務(wù)器

4.Vsftp服務(wù)器的配置文件

配置基本的Vsftpd服務(wù)器比較簡單,只需要正確安裝了Vsftpd軟件,直接啟動Vsftpd并放行端口就行了,但是如果想要更進一步的搭建Vsftpd服務(wù),那就要掌握Vsftpd服務(wù)器的配置文件。

文件說明
/etc/vsftpd/vsftpd.confVsftpd服務(wù)器主配置文件
/etc/vsftpd/ftpusers禁止訪問Vsftp服務(wù)器的用戶名單
/etc/vsftpd/user_list指定用戶能否訪問FTP服務(wù)器取決于userlist_deny選項的設(shè)置
/etc/vsftpd/chroot_list目錄訪問控制文件

下面對這幾個文件進行詳細(xì)說明

1.vsftpd.conf文件

vsftpd.conf位于/etc/vsftpd目錄下,與大多數(shù)配置文件一樣,vsftpd.conf文件中以符號”#“開始注釋信息,我們可以用Vim等工具對它進行修改。在Vsftpd中去掉注釋,顯示該文件的配置內(nèi)容如下:

[root@linux2 ~]# grep -v "#" /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=YESpam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

下面對該文件中的常用選項進行介紹,合理使用這些選項是保障FTP安全穩(wěn)定的前提

選項說明
anonymous_enable設(shè)置是否允許匿名用戶登錄服務(wù)器
local_enable設(shè)置是否允許本地用戶登錄服務(wù)器
write_enable設(shè)置是否允許寫操作
local_umask設(shè)置本地用戶創(chuàng)建文件的umask值
anon*_upload_enable*設(shè)置是否允許匿名用戶上傳文件
anon*_mkdir_write_enable*設(shè)置是否允許匿名用戶建立目錄
xferlog_enable是否激活日志功能
chown_uploads修改匿名用戶上傳文件的所有者
chown_username=whoever啟用chown_uploads=YES時,指定為主用戶賬戶,whoever表示你的ftp用戶
chroot*_local_user*設(shè)置是否將所有用戶限制在其主目錄
chroot*_list_enable*設(shè)置是否啟用限制用戶的名單
chroot*_list_file*設(shè)置是否限制/排除主目錄下的用戶名單,限制/排除有chrootlocaluser值決定
allow*_writeable_choot*設(shè)置chroot目錄的寫權(quán)限

2.ftpusers文件

/etc/vsftpd/ftpusers文件用于指定不能訪問vsftp服務(wù)器的用戶列表,此文件在格式中采用每個用戶一行的形式,其中包含的用戶通常是系統(tǒng)的超級用戶和系統(tǒng)用戶

3.user_list文件

/etc/vsftpd/userlist 文件也用于保留用戶列表,指定的用戶能否訪問vsftp服務(wù)取決于userlistdeny選項的參數(shù),當(dāng)userlist_deny選項的參數(shù)=YES時,此文件中寫入的所有用戶都將無法登錄vsftp服務(wù),想都別想,但是當(dāng)userlist_deny=No時,這些用戶就起來了,那就表示只有這些用戶能夠訪問vsftp服務(wù),所以一定要注意這個選項的參數(shù)。非常重要。

如果要限制一些指定的本地用戶不能訪問FTP服務(wù),則可以添加以下內(nèi)容來做到:

進入/etc/vaftpd/vsftpd.conf 末行添加

userlist_enable=YES

userlist_deny=YES

userlistfile=/etc/vsftpd/user_list

進入/etc/vsftpd/user_list 添加你需要拒絕訪問的本地用戶

toto (意為指定用戶 每個指定用戶單獨占一行)

如果需要指定幾個本地用戶才能訪問FTP服務(wù),則可以添加以下內(nèi)容來做到:

進入/etc/vaftpd/vsftpd.conf 末行添加

userlist_enable=YES

userlist_deny=NO

userlistfile=/etc/vsftpd/user_list

進入/etc/vsftpd/user_list 添加你需要拒絕訪問的本地用戶

toto (意為指定用戶 每個指定用戶單獨占一行)

4.chroot_list文件

默認(rèn)情況下,匿名用戶會被鎖定在默認(rèn)FTP目錄中,而本地用戶卻可以訪問自己主目錄以外的內(nèi)容,出于安全考慮,通過chroot_list文件可以限制用戶只能訪問其主目錄,也可以實現(xiàn)使用不同喲ing胡不僅能訪問自己的目錄也可以訪問主目錄以外的內(nèi)容。

chrootlist文件設(shè)計chrootlocaluser和chroot*_list_enable兩個選項*

chroot*_list_file默認(rèn)指向/etc/ sftpd/chroot_list*

chroot_list文件的功能有兩個

  • 是限制用戶名單中的用戶只能在其主目錄中
  • 名單中的用戶不僅能訪問自己的主目錄,還能跳出主目錄,訪問其它的目錄。

當(dāng)chroot*_list_enable=YES時,chroot_list中的用戶只能在本目錄中*

當(dāng)chroot*_list_enable=NO時,chroot_list中的目錄可以訪問除主目錄以外的內(nèi)容*

5.Vsftp服務(wù)器的使用

前面介紹了Vsftpd服務(wù)器的安裝,啟動及主要的配置文件,下面通過具體的實例來介紹該服務(wù)器的具體應(yīng)用。

1.匿名用戶訪問Vsfto服務(wù)器

本次實驗環(huán)境為Centos7 服務(wù)器的IP地址為192.168.123.101 主機名為linux1

第一步:安裝Vsftp服務(wù)及開啟該服務(wù)

yum install -y vsftpd
systemctl restart vsftpd

使用ftp匿名用戶登錄,如下所示:

[root@linux2 ~]# ftp 192.168.123.101
Connected to 192.168.123.101 (192.168.123.101).
220 (vsFTPd 3.0.2)
Name (192.168.123.101:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
ftp> ls
227 Entering Passive Mode (192,168,123,101,101,29).
150 Here comes the directory listing.
drwxr-xr-x    2 0        0               6 Oct 13  2020 pub
226 Directory send OK.

登錄成功,使用ls命令瀏覽默認(rèn)的FTP目錄 (/var/ftp)

1、首先在FTP默認(rèn)目錄/var/pub中創(chuàng)建兩個文本文件1.txt和2.txt

[root@ayaka ~]# cd /var/ftp/pub/
[root@ayaka pub]# touch 1.txt
[root@ayaka pub]# touch 2.txt
[root@ayaka pub]# ls
1.txt 2.txt

2、在客戶端上進入/pub目錄

ftp> ls
227 Entering Passive Mode (192,168,123,101,75,103).
150 Here comes the directory listing.
-rw-r–r-- 1 0 0 0 May 09 10:37 1.txt
-rw-r–r-- 1 0 0 0 May 09 10:37 2.txt

將Vsftpd服務(wù)器上文件下載到客戶端

進入pub目錄 使用get命令將文件1.txt與2.txt下載到當(dāng)前目錄下,下載成功的過程如下

220 (vsFTPd 3.0.2)
Name (192.168.123.101:root): ftp
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> ls
227 Entering Passive Mode (192,168,123,101,25,132).
150 Here comes the directory listing.
-rw-r--r--    1 0        0              50 May 09 10:54 1.txt
-rw-r--r--    1 0        0               0 May 09 10:37 2.txt
226 Directory send OK.
ftp> !pwd
/root
ftp> get 1.txt
local: 1.txt remote: 1.txt
227 Entering Passive Mode (192,168,123,101,145,74).
150 Opening BINARY mode data connection for 1.txt (50 bytes).
226 Transfer complete.
50 bytes received in 0.000134 secs (373.13 Kbytes/sec)
ftp> !ls
1  1.txt  anaconda-ks.cfg
ftp>

測試在Vsftp服務(wù)器創(chuàng)建目錄

ftp> mkdir toto
550 Permission denied.
ftp

通過以上操作可以得出:在默認(rèn)情況下,匿名用戶一般只有從服務(wù)器服務(wù)器下載文件的權(quán)限,不能上傳文件或進行其它操作

那如何讓他變得有權(quán)限呢,接下來我們來配置vsftpd使得有上傳文件或進行其它操作

更改vsftpd.conf文件,開啟匿名用戶上傳,創(chuàng)建目錄權(quán)限

將如下兩個參數(shù)取消注釋

29 #anon_upload_enable=YES //允許匿名文件上傳文件
34 #anon_mkdir_write_enable=YES //允許匿名用戶建立目錄

取消注釋后保存并退出 重啟vsftpd服務(wù)讓它生效

systemctl restart vsftpd

創(chuàng)建匿名用戶上傳目錄

需要在/var/ftp目錄下創(chuàng)建一個目錄,修改目錄的權(quán)限,讓匿名用戶具有寫權(quán)限

[root@ayaka pub]# mkdir /var/ftp/hub
[root@ayaka pub]# chmod o+w /var/ftp/hub

上傳目錄

使用put命令把本地文件上傳到FTP服務(wù)器上,具體過程如下。

[root@linux2 ~]# ftp 192.168.123.101
Connected to 192.168.123.101 (192.168.123.101).
220 (vsFTPd 3.0.2)
Name (192.168.123.101:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd hub  			//進入目錄hub 
250 Directory successfully changed.
ftp> !ls			//執(zhí)行本機Shell命令,顯示當(dāng)前內(nèi)容 
1  1.txt  anaconda-ks.cfg  file1.txt
ftp> put 1   		//上傳文件1
local: 1 remote: 1
227 Entering Passive Mode (192,168,123,101,176,227).
150 Ok to send data.
226 Transfer complete.
1664 bytes sent in 0.000814 secs (2044.23 Kbytes/sec)
ftp> ls -l          //查看hub目錄中的文件列表
227 Entering Passive Mode (192,168,123,101,85,50).
150 Here comes the directory listing.
-rw-------    1 14       50           1664 May 09 11:26 1
226 Directory send OK.
ftp> mkdir tomato			//創(chuàng)建目錄
257 "/hub/tomato" created				//創(chuàng)建目錄成功
ftp> ls
227 Entering Passive Mode (192,168,123,101,99,18).
150 Here comes the directory listing.
-rw-------    1 14       50           1664 May 09 11:26 1
drwx------    2 14       50              6 May 09 11:35 tomato
226 Directory send OK.
ftp> 

2.本地用戶訪問Vsftp服務(wù)器

本地用戶是在FTP服務(wù)器上擁有用戶賬戶的用戶,相當(dāng)于FTP服務(wù)器中的真實實際用戶,其通過輸入自己的賬號和口令來進行授權(quán)登錄,當(dāng)用戶成功登錄服務(wù)器后,其登錄目錄為用戶的主目錄,用戶的權(quán)限對該主目錄的操作權(quán)限,可以下載也可以上傳文件。

下面我們將用實例來介紹本地用戶登錄服務(wù)器下載,上傳文件的過程。

本地用戶訪問Vsftp服務(wù)器,本例Vsftp服務(wù)器的ip地址為192.168.123.101 客戶端主機名為Client

Vsftp服務(wù)器建立用戶ftpuser,并在用戶的家目錄建立文件toto和yoyo 命令如下

[root@ayaka pub]# useradd ftpuser
[root@ayaka pub]# echo “123” | passwd --stdin ftpuser //設(shè)置ftpuser的密碼為123
[root@ayaka pub]# su - ftpuser //登錄用戶ftpuser
[ftpuser@ayaka ~]$ touch toto.txt
[ftpuser@ayaka ~]$ touch yoyo.txt

使用本地用戶登錄Vsftpd服務(wù)器后,其登錄目錄為用戶的主目錄/home/ftpuser,具體過程如下

[root@linux2 ~]# ftp 192.168.123.102
Connected to 192.168.123.102 (192.168.123.102).
220 (vsFTPd 3.0.2)
Name (192.168.123.102:root): ftpuser
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.
ftp> ^Z
[2]+  已停止               ftp 192.168.123.102
[root@linux2 ~]#
[root@linux2 ~]# ftp 192.168.123.101
Connected to 192.168.123.101 (192.168.123.101).
220 (vsFTPd 3.0.2)
Name (192.168.123.101:root): ftpuser
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (192,168,123,101,56,176).
150 Here comes the directory listing.
-rw-rw-r--    1 1000     1000            0 May 09 11:44 toto.txt
-rw-rw-r--    1 1000     1000            0 May 09 11:44 yoyo.txt
226 Directory send OK.
ftp> pwd
257 "/home/ftpuser"
ftp>

創(chuàng)建目錄

用戶ftpuser創(chuàng)建目錄tomato,具體操作如下

ftp> mkdir tomato
257 "/home/ftpuser/tomato" created
ftp> ls
227 Entering Passive Mode (192,168,123,101,244,9).
150 Here comes the directory listing.
drwxr-xr-x    2 1000     1000            6 May 09 11:52 tomato
-rw-rw-r--    1 1000     1000            0 May 09 11:44 toto.txt
-rw-rw-r--    1 1000     1000            0 May 09 11:44 yoyo.txt
226 Directory send OK.
ftp>

上傳本地文件

用戶ftpuser上傳本地文件到服務(wù)器指定目錄,具體操作如下:

ftp> !ls -l
總用量 16
-rw-r--r--. 1 root root 1664 10月 23 2020 1
-rw-r--r--. 1 root root   50 5月   9 18:56 1.txt
-rw-------. 1 root root 1295 5月   7 19:16 anaconda-ks.cfg
-rw-r--r--. 1 root root    7 5月   9 19:20 file1.txt
ftp> !pwd
/root
ftp> put anaconda-ks.cfg				//上傳本地文件
local: anaconda-ks.cfg remote: anaconda-ks.cfg
227 Entering Passive Mode (192,168,123,101,101,125).
150 Ok to send data.
226 Transfer complete.
1295 bytes sent in 0.00108 secs (1194.65 Kbytes/sec)
ftp> ls -l				//瀏覽遠程目錄,驗證上傳文件是否為本地文件
227 Entering Passive Mode (192,168,123,101,149,213).
150 Here comes the directory listing.
-rw-r--r--    1 1000     1000         1295 May 09 11:55 anaconda-ks.cfg
drwxr-xr-x    2 1000     1000            6 May 09 11:52 tomato
-rw-rw-r--    1 1000     1000            0 May 09 11:44 toto.txt
-rw-rw-r--    1 1000     1000            0 May 09 11:44 yoyo.txt
226 Directory send OK.
ftp>

下載服務(wù)器文件到本地

用ftpuser下載文件toto到本地當(dāng)前目錄下,下載文件yoyo到本地目錄/tmp下,并且重命名為toto.bak 具體操作如下

ftp> get toto
local: toto remote: toto
227 Entering Passive Mode (192,168,123,101,206,168).
550 Failed to open file.
ftp> ls
227 Entering Passive Mode (192,168,123,101,98,221).
150 Here comes the directory listing.
-rw-r--r--    1 1000     1000         1295 May 09 11:55 anaconda-ks.cfg
drwxr-xr-x    2 1000     1000            6 May 09 11:52 tomato
-rw-rw-r--    1 1000     1000            0 May 09 11:44 toto.txt
-rw-rw-r--    1 1000     1000            0 May 09 11:44 yoyo.txt
226 Directory send OK.
ftp> get toto.txt           //下載文件到本地目錄 
local: toto.txt remote: toto.txt
227 Entering Passive Mode (192,168,123,101,46,209).
150 Opening BINARY mode data connection for toto.txt (0 bytes).
226 Transfer complete.
ftp> !ls -l					//瀏覽本地目錄,驗證下載文件操作是否成功
總用量 16
-rw-r--r--. 1 root root 1664 10月 23 2020 1
-rw-r--r--. 1 root root   50 5月   9 18:56 1.txt
-rw-------. 1 root root 1295 5月   7 19:16 anaconda-ks.cfg
-rw-r--r--. 1 root root    7 5月   9 19:20 file1.txt
-rw-r--r--. 1 root root    0 5月   9 19:59 toto.txt
// 下載文件yoyo.txt 到 本地目錄/tmp下 并重命名為yoyo.bak
tp> get yoyo.txt /tmp/yoyo.bak
local: /tmp/yoyo.bak remote: yoyo.txt
227 Entering Passive Mode (192,168,123,101,46,136).
150 Opening BINARY mode data connection for yoyo.txt (0 bytes).
226 Transfer complete.
ftp> lcd /tmp   進入本地目錄/tmp 
Local directory now /tmp
ftp> !ls   //瀏覽驗證本地目錄是否有yoyo.bak 
ks-script-e7_otA                                                         yoyo.bak
systemd-private-7da9c4fa89d64f18a66b1cf3053c3ff6-chronyd.service-JoFutU  yum.log
vmware-root_797-4257069498
ftp>

 到此這篇關(guān)于FTP服務(wù)器的搭建與文件目錄的使用詳解的文章就介紹到這了,更多相關(guān)FTP服務(wù)器搭建內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論