1. 程式人生 > 其它 >|NO.Z.00022|——————————|^^ 部署 ^^|——|Linux&VSFTP服務.V04|---------------------------------------------------|VSFTP部署|本地驗證|

|NO.Z.00022|——————————|^^ 部署 ^^|——|Linux&VSFTP服務.V04|---------------------------------------------------|VSFTP部署|本地驗證|



[LinuxNetworkEnd:Linux&VSFTP服務.V04]                                                   [Applications.LinuxNetworkEnd] [|VSFTP|匿名登入|本地登入|虛擬賬戶登入|openssl+vsftpd加密驗證|]








一、本地使用者驗證實驗:
### --- 本地使用者驗證實驗:
### --- 本地使用者許可權控制

local_enable=YES                                            // 是否啟用本地系統使用者
local_umask=022                                             // 本地使用者所上傳檔案的許可權掩碼
local_root=/var/ftp                                         // 設定本地使用者的FTP根目錄
chroot_local_user=YES                                       // 是否將使用者禁錮在主目錄
local_max_rate=0                                            // 限制最大傳輸速率
ftpd_banner=Welcome to blah FTP service                     // 使用者登入時顯示的歡迎資訊
userlist_enable=YES & userlist_deny=YES                     // 禁止/etc/vsftpd/user_list 檔案中出現的使用者名稱登入FTP 
userlist_enable=YES & userlist_deny=NO                      // 僅允許/etc/vsftpd/user_list檔案中出現的使用者登入FTP
~~~     配置檔案:ftpusers                                   // 禁止/etc/vsftpd/ftpusers檔案中出現的使用者名稱登入FTP許可權比user_list更高,即時生效
### --- 實驗需求與流程:
### --- 服務端需要建立使用者並設定密碼(所建立的使用者,不需要登入作業系統,僅用來登入VSFTP)

[root@server21 ~]# useradd -s /sbin/nologin zhangsan
[root@server21 ~]# passwd zhangsan
[root@server21 ~]# useradd -s /sbin/nologin lisi
[root@server21 ~]# passwd lisi
### --- 將所有使用者禁錮在自己的家目錄下
~~~     注:預設沒有禁錮使用者時,客戶端登入後可以隨意切換目錄,檢視檔案所在位置和檔名
~~~     開啟使用者家目錄限制,限制所有使用者不能隨便切換目錄

[root@server22 ~]# ftp 20.20.20.21                          // 以張三使用者登入,可以隨機切換目錄
Name (20.20.20.21:root): zhangsan
Password:
ftp> cd /
ftp> ls                                                     // 顯示根下的所有檔案,沒有禁錮在張三的家目錄下
~~~     禁止本地使用者不可以隨機切換目錄

[root@server21 ~]# vim /etc/vsftpd/vsftpd.conf
chroot_local_user=YES                                       // 限制所有使用者禁錮在自己的家目錄
[root@server21 ~]# service vsftpd restart
[root@server22 ~]# ftp 20.20.20.21
Connected to 20.20.20.21 (20.20.20.21).
Name (20.20.20.21:root): zhangsan
Password:
ftp> cd /
ftp> ls                                                     // 切換到/下,ls檢視顯示的是張三家目錄下的檔案,說明禁錮在本地使用者的家目錄下,可以往家目錄下一級目錄是可以的,往上翻是不可以的。
### --- 將部分使用者禁錮在自己的家目錄下
chroot_list_enable=YES 
~~~     開啟白名單功能,允許白名單中的使用者隨意切換目錄
chroot_list_file=/etc/vsftpd/chroot_list
~~~     白名單檔案所在位置(需自己建立)
~~~     新增張三為白名單使用者,使其不被禁錮在自己的家目錄下

[root@server21 ~]# vim /etc/vsftpd/vsftpd.conf
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
[root@server21 ~]# vim /etc/vsftpd/chroot_list
[root@server21 ~]# service vsftpd restart
[root@server22 ~]# ftp 20.20.20.21                  
Name (20.20.20.21:root): zhangsan
Password:
ftp> cd /           
ftp> ls                                                     // 新增白名單,張三不會被禁錮在自己的家目錄下。可以檢視到根下的所有檔案
### --- 配置檔案:/etc/vsftpd/ftpusers                       // 許可權優先順序高的黑名單,主要是防止某些使用者不能登入ftp,一般會禁止root來登入。root的許可權會很高,防止某些人通過root登入ftp而獲取一些資源,所以限制
~~~     所有寫入此檔案內的使用者名稱都不允許登入ftp,立刻生效。

[root@server21 ~]# vim /etc/vsftpd/ftpusers 
# Users that are not allowed to login via ftp               // 不允許去login
root
lisi                                                        // 禁止李四使用者登入
[root@server22 ~]# 
[root@server22 ~]# ftp 20.20.20.21
Password:
Login failed.                                               // lisi登入失敗
[root@server22 ~]# ftp 20.20.20.21
Name (20.20.20.21:root): zhangsan
Password:
Using binary mode to transfer files.                        // zhangsan登入成功
### --- 修改被動模式資料傳輸使用埠

[root@server21 ~]# vim /etc/vsftpd/vsftpd.conf              // 在最後新增如下內容
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000
[root@server21 ~]# service vsftpd restart
[root@server21 upload]# dd if=/dev/zero of=./atyanqi.txt bs=1M count=1000 // 建立一個1GB的atyanqi.txt檔案
[root@server21 ~]# netstat -antp                            // 此時會有21埠
tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN      1974/vsftpd         
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1404/sshd           
[root@server22 ~]# ftp 20.20.20.21
Name (20.20.20.21:root): ftp
Password:
ftp> cd upload                  
ftp> get atyanqi.txt                                        // 下載一個檔案       
[root@server21 ~]# netstat -antp                            // 下載的時候檢視埠,伺服器端和客戶端的埠都發生了變化,出現了40000和50000之間的隨機埠
tcp        0     52 20.20.20.21:22              20.20.20.240:56283          ESTABLISHED 1585/sshd           
tcp        0      0 20.20.20.21:22              20.20.20.240:49438          ESTABLISHED 1523/sshd           
tcp        0      0 20.20.20.21:21              20.20.20.22:46190           ESTABLISHED 1978/vsftpd         
tcp        0      0 20.20.20.21:48583           20.20.20.22:50654           TIME_WAIT   -  








===============================END===============================


Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart                                                                                                                                                    ——W.S.Landor



來自為知筆記(Wiz)