溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

學(xué)會使用linux中的vsftpd服務(wù)

發(fā)布時間:2020-05-20 08:52:36 來源:網(wǎng)絡(luò) 閱讀:624 作者:wx5d3fd1efe40e3 欄目:系統(tǒng)運(yùn)維

內(nèi)容要點(diǎn):

一、vsftpd概述

二、ftp、sftp、vsftp、vsftpd這四個的區(qū)別

三、匿名用戶登陸ftp

四、利用本地用戶登錄ftp

五、建立虛擬用戶賬戶使用ftp


一、vsftpd概述


vsftpd 是“very secure FTP daemon”的縮寫,安全性是它的一個最大的特點(diǎn)。vsftpd 是一個 UNIX 類操作系統(tǒng)上運(yùn)行的服務(wù)器的名字,它可以運(yùn)行在諸如 Linux、BSD、Solaris、 HP-UNIX等系統(tǒng)上面,是一個完全免費(fèi)的、開放源代碼的ftp服務(wù)器軟件,支持很多其他的 FTP 服務(wù)器所不支持的特征。


1、特點(diǎn)


非常高的安全性需求、帶寬限制、良好的可伸縮性、可創(chuàng)建虛擬用戶、支持IPv6、速率高
小巧輕快,安全易用。


二、ftp、sftp、vsftp、vsftpd這四個的區(qū)別


  • ftp?是File Transfer Protocol的縮寫,文件傳輸協(xié)議,用于在網(wǎng)絡(luò)上進(jìn)行文件傳輸?shù)囊惶讟?biāo)準(zhǔn)協(xié)議,使用客戶/服務(wù)器模式。它屬于網(wǎng)絡(luò)傳輸協(xié)議的應(yīng)用層。

  • sftp?是SSH File Transfer Protocol的縮寫,安全文件傳輸協(xié)議;

  • vsftp?是一個基于GPL發(fā)布的類Unix系統(tǒng)上使用的ftp服務(wù)器軟件,它的全稱是Very Secure FTP從此名稱可以看出來,編制者的初衷是代碼的安全;

  • vsftpd?是very secure FTP daemon的縮寫,安全性是它的一個最大的特點(diǎn)。vsftpd 是一個 UNIX 類操作系統(tǒng)上運(yùn)行的服務(wù)器的名字,它可以運(yùn)行在諸如 Linux、BSD、Solaris、 HP-UNIX等系統(tǒng)上面,是一個完全免費(fèi)的、開放源代碼的ftp服務(wù)器軟件;


三,匿名用戶登錄ftp(文件在/var/ftp)


1,安裝vsftpd服務(wù)


[root@localhost?~]#?yum?install?vsftpd?-y???##安裝服務(wù)
[root@localhost?~]#?cd?/etc/vsftpd/????##此目錄是配置文件目錄
[root@localhost?vsftpd]#?ls
ftpusers??user_list??vsftpd.conf??vsftpd_conf_migrate.sh
[root@localhost?vsftpd]#?systemctl?start?vsftpd?????##開啟vsftpd服務(wù)[root@localhost?vsftpd]#?systemctl?stop?firewalld.service????##關(guān)閉防火墻[root@localhost?vsftpd]#?setenforce?0????##關(guān)閉增強(qiáng)功能
[root@localhost?vsftpd]#?ls?/var/ftp/????????##切換到ftp目錄下pub
[root@localhost?vsftpd]#?echo?"this?is?test"?>?/var/ftp/test.txt???##添加一個文本文件


2,用測試機(jī)cmd訪問vsftpd服務(wù)(cmd連接ftp)并下載文件


C:\Users\xy007>ftp?192.168.13.140????##訪問ftp服務(wù)
連接到?192.168.13.140。
220?(vsFTPd?3.0.2)
200?Always?in?UTF8?mode.
用戶(192.168.13.140:(none)):?ftp???????##匿名訪問
331?Please?specify?the?password.
密碼:????????????????????????????????????????????????##密碼無?回車
230?Login?successful.
ftp>?pwd????????????##查看當(dāng)前路徑
257?"/"???????????????##ftp服務(wù)的根目錄
ftp>?ls?-a???????????##查看目錄中的內(nèi)容
200?PORT?command?successful.?Consider?using?PASV.
150?Here?comes?the?directory?listing.
.
..
pub
test.txt???????????????##服務(wù)器中的文件
226?Directory?send?OK.
ftp:?收到?25?字節(jié),用時?0.00秒?25000.00千字節(jié)/秒。
ftp>?get?test.txt??##下載文件到本地(在哪個磁盤的訪問就下載到哪里,可以切換磁盤來下載e:)200?PORT?command?successful.?Consider?using?PASV.
150?Opening?BINARY?mode?data?connection?for?test.txt?(13?bytes).
226?Transfer?complete.
ftp:?收到?13?字節(jié),用時?0.00秒?13000.00千字節(jié)/秒。
ftp>?put?test1.txt???##在c盤中創(chuàng)建一個test1.txt然后上傳到Linux中200?PORT?command?successful.?Consider?using?PASV.
550?Permission?denied.????##此時是權(quán)限受限的

學(xué)會使用linux中的vsftpd服務(wù)


3,修改vsftpd配置文件將匿名訪問開啟最大權(quán)限


[root@localhost?ftp]#?cd?/etc/vsftpd/
[root@localhost?vsftpd]#?vim?vsftpd.conf
##在配置文件中查找開啟下列選項(xiàng)
anonymous_enable=YES???????##開啟匿名用戶
local_enable=YES????##本地用戶
write_enable=YES????##寫入權(quán)限
local_umask=022?????##本地用戶反掩碼
anon_upload_enable=YES???##上傳權(quán)限開啟
anon_mkdir_write_enable=YES???##開啟創(chuàng)建目錄并且能夠?qū)懭?anon_other_write_enable=YES???##添加一個other的重命名和刪除的權(quán)限

[root@localhost?vsftpd]#?systemctl?restart?vsftpd??##重啟服務(wù)
[root@localhost?vsftpd]#?cd?/var/ftp/????##切換到ftp目錄下
[root@localhost?ftp]#?ls
pub??test.txt
[root@localhost?ftp]#?ls?-l
總用量?4
drwxr-xr-x.?2?root?root??6?10月?31?2018?pub
-rw-r--r--.?1?root?root?13?11月??5?19:14?test.txt
[root@localhost?ftp]#?chmod?777?pub???##將pub目錄權(quán)限給最大,注意不能直接給ftp權(quán)限最大


4,用測試機(jī)cmd訪問ftp并上傳本地文件到Linux上


C:\Users\xy007>ftp?192.168.13.140???##訪問ftp服務(wù)
連接到?192.168.13.140。
220?(vsFTPd?3.0.2)
200?Always?in?UTF8?mode.
用戶(192.168.13.140:(none)):?ftp
331?Please?specify?the?password.
密碼:
230?Login?successful.ftp>?cd?pub/?????????????????????????????##切換到pub目錄下250?Directory?successfully?changed.
ftp>?put?test1.txt??????????????????????##上傳文件
200?PORT?command?successful.?Consider?using?PASV.
150?Ok?to?send?data.
226?Transfer?complete.
ftp:?發(fā)送?13?字節(jié),用時?0.03秒?0.41千字節(jié)/秒。
ftp>?by?????##退出
221?Goodbye.
##你也可以使用delete刪除文件


5,查看上傳的文件


[root@localhost?ftp]#?cd?/var/ftp/pub??##切換到pub目錄下
[root@localhost?pub]#?ls?????##查看上傳的文件
test1.txt


四,利用本地用戶登錄ftp(文件在家目錄)

防止本地用戶訪問系統(tǒng)目錄,限制僅訪問用戶家目錄


1,創(chuàng)建系統(tǒng)用戶


[root@localhost?pub]#?useradd?zhangsan???##創(chuàng)建用戶并設(shè)置用戶密碼
[root@localhost?pub]#?passwd?zhangsan
[root@localhost?pub]#?useradd?lisi???##創(chuàng)建用戶并設(shè)置用戶密碼
[root@localhost?pub]#?passwd?lisi


2,測試機(jī)上cmd使用用戶登錄ftp


C:\Users\xy007>ftp?192.168.13.140???##登錄ftp服務(wù)
連接到?192.168.13.140。
220?(vsFTPd?3.0.2)
200?Always?in?UTF8?mode.
用戶(192.168.13.140:(none)):?zhangsan???##使用本地用戶
331?Please?specify?the?password.
密碼:230?Login?successful.
ftp>?ls?/???????##查看用戶/下的目錄文件,直接到系統(tǒng)根目錄下
200?PORT?command?successful.?Consider?using?PASV.
150?Here?comes?the?directory?listing.
/bin
/boot
/dev
/etc
/home
/lib
/lib64
/media
/mnt
/opt
/proc
/root
/run
/sbin
/srv
/sys
/tmp
/usr
/var226?Directory?send?OK.
ftp:?收到?126?字節(jié),用時?0.02秒?7.88千字節(jié)/秒。


3,防止本地用戶訪問系統(tǒng)目錄,限制僅訪問用戶家目錄


[root@localhost?pub]#?vim?/etc/vsftpd/vsftpd.conf????##修改配置文件

chroot_local_user=YES???##開啟限制本地訪問系統(tǒng)目錄模塊
allow_writeable_chroot=YES?##添加寫的權(quán)限

[root@localhost?pub]#?systemctl?restart?vsftpd???##重啟服務(wù)


4,測試機(jī)cmd訪問


C:\Users\xy007>ftp?192.168.13.140???##訪問ftp
連接到?192.168.13.140。
220?(vsFTPd?3.0.2)
200?Always?in?UTF8?mode.
用戶(192.168.13.140:(none)):?zhangsan???##用戶zhangsan
331?Please?specify?the?password.
密碼:
230?Login?successful.
ftp>?cd?/????##切換到系統(tǒng)根目錄
250?Directory?successfully?changed.
ftp>?ls?????##查看發(fā)現(xiàn)還是在用戶的家目錄中,訪問不到系統(tǒng)的其他目錄了,增強(qiáng)了安全性200?PORT?command?successful.?Consider?using?PASV.
150?Here?comes?the?directory?listing.
226?Directory?send?OK.


設(shè)置允許,拒絕指定用戶訪問ftp

1,設(shè)置user-list(默認(rèn)拒絕),允許或者拒絕特定用戶登錄ftp


[root@localhost?pub]#?cd?/etc/vsftpd/??##切換到vsftpd配置文件目錄
[root@localhost?vsftpd]#?vim?vsftpd.conf

userlist_enable=YES?##確認(rèn)user-list開啟

[root@localhost?vsftpd]#?ls
ftpusers??user_list??vsftpd.conf??vsftpd_conf_migrate.sh
[root@localhost?vsftpd]#?echo?"zhangsan"?>>?user-list???##將zhangsan用戶添加到列表中[root@localhost?vsftpd]#?systemctl?restart?vsftpd????##重啟服務(wù)


2,用測試機(jī)cmd測試


C:\Users\xy007>ftp?192.168.13.140
連接到?192.168.13.140。
220?(vsFTPd?3.0.2)
200?Always?in?UTF8?mode.
用戶(192.168.13.140:(none)):?zhangsan???##使用zhangsan登錄
530?Permission?denied.
登錄失敗。????????????????????????????????????????##直接拒絕登錄
ftp>


3,設(shè)置列表為僅允許


[root@localhost?ftp]#?cd?/etc/vsftpd/
[root@localhost?vsftpd]#?vim?vsftpd.conf??##配置vsftpd配置文件
userlist_enable=YES
userlist_deny=NO???##添加列表允許

[root@localhost?vsftpd]#?systemctl?restart?vsftpd???##重啟服務(wù)


4,測試機(jī)cmd測試


C:\Users\xy007>ftp?192.168.13.140
連接到?192.168.13.140。
220?(vsFTPd?3.0.2)
200?Always?in?UTF8?mode.
用戶(192.168.13.140:(none)):?zhangsan???##用zhangsan去登錄
331?Please?specify?the?password.
密碼:
230?Login?successful.????????##登錄成功
ftp>?by
221?Goodbye.

C:\Users\xy007>ftp?192.168.13.140
連接到?192.168.13.140。
220?(vsFTPd?3.0.2)
200?Always?in?UTF8?mode.
用戶(192.168.13.140:(none)):?lisi???????##用lisi去登錄
530?Permission?denied.
登錄失敗。???????????????????????????##登錄失敗


五,建立虛擬用戶賬戶使用ftp(文件在系統(tǒng)用戶vuser家目錄)


1,創(chuàng)建虛擬用戶文件


[root@localhost?vsftpd]#?cd?/etc/vsftpd/??##切換到配置文件目錄下
[root@localhost?vsftpd]#?vim?vuser??????##創(chuàng)建虛擬用戶文件

lisa???????????##奇數(shù)行為用戶名
123123????##偶數(shù)行為密碼
tom
123123


2,轉(zhuǎn)換數(shù)據(jù)庫文件,設(shè)置安全權(quán)限


[root@localhost?vsftpd]#?db_load?-T?-t?hash?-f?vuser?vuser.db????##將vuser轉(zhuǎn)換成數(shù)據(jù)庫文件##T轉(zhuǎn)換,t類型,f指定文件
[root@localhost?vsftpd]#?chmod?600?vuser??????##安全起見,不讓別人看到,設(shè)置權(quán)限[root@localhost?vsftpd]#?chmod?600?vuser.db


3,編輯pam認(rèn)證模塊支持虛擬用戶登錄


[root@localhost?vsftpd]#?useradd?-d?/opt/vuser?-s?/sbin/nologin?vuser??##創(chuàng)建系統(tǒng)用戶,指定家目錄,不能登錄[root@localhost?vsftpd]#?vim?/etc/pam.d/vsftpd.vu???##編譯pam認(rèn)證模塊auth?required?pam_userdb.so?db=/etc/vsftpd/vuser????##識別轉(zhuǎn)換過的數(shù)據(jù)庫文件account?required?pam_userdb.so?db=/etc/vsftpd/vuser???##連接的密碼服務(wù)


4,開啟虛擬用戶,使用pam模塊認(rèn)證登錄


[root@localhost?vsftpd]#?vim?vsftpd.conf??##修改配置文件
##G到末行
#pam_service_name=vsftpd???##注釋
##添加下面三行內(nèi)容guest_enable=YES???????????##開啟來賓用戶訪問
guest_username=vuser??????##使用vuser用戶名
pam_service_name=vsftpd.vu???##pam模塊
[root@localhost?vsftpd]#?systemctl?restart?vsftpd???##重啟服務(wù)


5,測試機(jī)cmd測試


C:\Users\xy007>ftp?192.168.13.140
連接到?192.168.13.140。
220?(vsFTPd?3.0.2)
200?Always?in?UTF8?mode.
用戶(192.168.13.140:(none)):?tom???##使用虛擬用戶tom登錄
331?Please?specify?the?password.
密碼:
230?Login?successful.
ftp>?put?test1.txt??????##上傳一個文件
200?PORT?command?successful.?Consider?using?PASV.
150?Ok?to?send?data.
226?Transfer?complete.
ftp:?發(fā)送?13?字節(jié),用時?0.00秒?13000.00千字節(jié)/秒。
##查看文件的權(quán)限為600
[root@localhost?vsftpd]#?ls?-l?/opt/vuser/
總用量?4
-rw-------.?1?vuser?vuser?13?11月??5?22:51?test1.txt


6,單獨(dú)用戶配置,指定上傳文件的權(quán)限644


[root@localhost?vsftpd]#?vim?vsftpd.conf?
##大G末行添加
user_config_dir=/etc/vsftpd/vu_dir???##單獨(dú)用戶配置文件夾

[root@localhost?vsftpd]#?mkdir?vu_dir??##創(chuàng)建文件夾
[root@localhost?vsftpd]#?cd?vu_dir/
[root@localhost?vu_dir]#?vim?lisa?????##在配置文件夾里創(chuàng)建用戶配置文件
anon_umask=022??##指定上傳文件的權(quán)限

[root@localhost?vu_dir]#?systemctl?restart?vsftpd??##重啟服務(wù)


7,測試機(jī)cmd使用lisa用戶登錄,查看上傳文件權(quán)限


C:\Users\xy007>ftp?192.168.13.140
連接到?192.168.13.140。
220?(vsFTPd?3.0.2)
200?Always?in?UTF8?mode.
用戶(192.168.13.140:(none)):?lisa????##使用lisa登錄
331?Please?specify?the?password.
密碼:
230?Login?successful.
ftp>?put?111.txt????????##上傳文件
200?PORT?command?successful.?Consider?using?PASV.
150?Ok?to?send?data.
226?Transfer?complete.
ftp:?發(fā)送?13?字節(jié),用時?0.00秒?13000.00千字節(jié)/秒。

[root@localhost?vu_dir]#?ls?-l?/opt/vuser/???##查看上傳文件的權(quán)限
總用量?8
-rw-r--r--.?1?vuser?vuser?13?11月??5?22:58?111.txt????##lisa上傳文件權(quán)限644
-rw-------.?1?vuser?vuser?13?11月??5?22:51?test1.txt??##tom上傳文件權(quán)限600


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI