linux——FTP服務
FTP
一:FTP
全稱“文件傳輸協議”,純屬文件。
架構C/S 端口:TCP20(傳輸文件),TCP21(建立連接)
二: 兩種文件傳輸方式
ASCII碼和Binary方式
三:兩種工作模式
1,主動模式(Active-Mode)
客戶端開啓一個大於1024的隨機端口n,連接指服務器的TCP21號端口。通過連接,告知服務器,自己的數據傳輸端口爲N+1。服務器使用TCP20號端口,主動連接客戶端的n+1號端口後,進行數據傳輸。
2.被動模式(Rassive)
客戶端開啓一個大於1024的隨機端口n,連接至服務器的TCP21號,通過連接,向服務器發送PASA指令,並告知服務器自己的數據傳輸端口爲n+1.服務器端也開啓一個大於1024的隨機端口,並通過已經建立的連接告知客戶端自己的數據傳輸端口爲x,客戶端使用n+1號端口連接至服務的X端口,進行數據傳輸
四:配置FTP服務器
1.安裝軟件 yum -y install vsftpd
2.啓動服務 systemctl start vsftpd
3.查看服務狀態 systemctl status vsftpd
4.查看vsftpd服務的端口
Netstat -lantu | grep 21
Lsof -i tcp:21
五:配置FTP客戶端
1.安裝軟件 yum -y install ftp
2.使用匿名賬戶連接至服務器
ftp 服務器IP/主機名
賬戶名:ftp 密碼:隨便
注:匿名賬戶,默認的登錄目錄爲FTP服務器上的/var/ftp
匿名賬戶,只能下載文件,沒有上傳,刪除,創建目錄的權限。
3.允許匿名賬戶上傳文件,創建目錄,刪除文件或目錄
(1)在服務器端
修改ftp的配置文件:vim /etc/vsftpd/vsftpd.conf
取消註釋anon_upload_enble=YES
取消註釋 anon_mkdir_write_enable_YES
添加:anon_other_write_enable=YES
Chown ftp.ftp /var/ftp/pub
重啓服務:systemctl restart vsftpd
(2)在客戶端
ftp 192.168.1.1
六:使用本地實體賬戶登錄
1.配置ftp服務器端
(1)安裝軟件 yum -y install vsftpd
(2)重啓服務 systemctl restart vsftpd
2.配置ftp客戶端
(1)安裝軟件 yum - y install ftp
(2)連接至服務器
ftp 192.168.1.1
賬戶名:服務器上具體的某一賬戶
密碼:賬戶對應的密碼
注:實體賬戶登錄到FTP服務器的默認位置爲實體賬戶的家目錄
實體賬戶具有上傳,下載,創建目錄,刪除文件或目錄的權限
七:虛擬賬戶
1.創建文本文件,添加虛擬賬戶的賬戶名及密碼
Vim /root/f1.txt
文件內容:虛擬賬戶名 密碼
例:test 123
2.生成驗證的數據庫
db_load -T -t hash -f /root/f1.txt /etc/vsftabd/f.db
3.設置驗證文件
(1)將原有驗證文件備份
Cp /etc/pam.d/vsftpd /etc/pam.d/vsftab/bak
(2)生成驗證文件
cp /usr/share/doc/vsftpd-*/EXAMPLE/VIRTUAL_USERS/vsftpd.pam /etc/pam.d/vsftpd
(3) 編輯驗證文件
Vim /etc/pam.d/vsftpd
刪除驗證模塊前的路徑,指定驗證使用的數據庫文件
Auth required pam_userdb.so db=/etc/vsftpd/f1
Account required pam_userdb.so db=/etc/vsftpd/f1
4.創建實體賬戶
Useradd aa
修改實體賬戶家目錄權限
Chmod -R 555 /home/aa
5.修改配置文件
Vim /etc/vsftpd/vsftpd.conf
在文件末尾添加
Guest_enable=YES
Guest_username=aa
6.啓動服務
Systemctl restart csftpd
7.在客戶端
ftp 192.168.1.1
用戶名:test
密碼:123
八:chroot
修改用戶的/根目錄
1.修改配置文件
vim /etc/vsftpd/vsftpd.conf
開啓以下幾行註釋:
Chroot_local_user=YES
Chroot_list_enable=YES
Chroot_list_file=/etc/vsftpd/chroot_list
2.生成chroot_list文件
Vim /etc/vsftpd/chroot_list
將不被chroot的本地實體賬戶寫入文件中
例:aa
3.重啓服務:systemctl restart vsftpd
4.客戶端測試:ftp 192.168.1.1
使用aa和bb 賬戶分別測試
注:如果被chroot的賬戶無法登陸,在服務端的配置文件末尾添加
Echo “allow_writeable_chroot=YES” >> /etc/vsftpd/vsftpd.conf
重啓服務 systemctl restart vsftpd
九:禁止用戶登錄
可以通過設置/etc/vsftpd/ftpusets和/etc/vsftpd/user_list兩個文件控制用戶的登錄
十:排錯
如果vsftpd.service服務無法啓動(啓動失敗),通常是由於配置文件編輯錯誤導致的
可以通過允許一行命令,來查看/etc/vsftpd/vsftpd.conf文件中編輯錯誤的選項或參數
/usr/sbin/vsftpd /etc/vsftpd/vsftpd.c
一:FTP
全稱“文件傳輸協議”,純屬文件。
架構C/S 端口:TCP20(傳輸文件),TCP21(建立連接)
二: 兩種文件傳輸方式
ASCII碼和Binary方式
三:兩種工作模式
1,主動模式(Active-Mode)
客戶端開啓一個大於1024的隨機端口n,連接指服務器的TCP21號端口。通過連接,告知服務器,自己的數據傳輸端口爲N+1。服務器使用TCP20號端口,主動連接客戶端的n+1號端口後,進行數據傳輸。
2.被動模式(Rassive)
客戶端開啓一個大於1024的隨機端口n,連接至服務器的TCP21號,通過連接,向服務器發送PASA指令,並告知服務器自己的數據傳輸端口爲n+1.服務器端也開啓一個大於1024的隨機端口,並通過已經建立的連接告知客戶端自己的數據傳輸端口爲x,客戶端使用n+1號端口連接至服務的X端口,進行數據傳輸
四:配置FTP服務器
1.安裝軟件 yum -y install vsftpd
2.啓動服務 systemctl start vsftpd
3.查看服務狀態 systemctl status vsftpd
4.查看vsftpd服務的端口
Netstat -lantu | grep 21
Lsof -i tcp:21
五:配置FTP客戶端
1.安裝軟件 yum -y install ftp
2.使用匿名賬戶連接至服務器
ftp 服務器IP/主機名
賬戶名:ftp 密碼:隨便
注:匿名賬戶,默認的登錄目錄爲FTP服務器上的/var/ftp
匿名賬戶,只能下載文件,沒有上傳,刪除,創建目錄的權限。
3.允許匿名賬戶上傳文件,創建目錄,刪除文件或目錄
(1)在服務器端
修改ftp的配置文件:vim /etc/vsftpd/vsftpd.conf
取消註釋anon_upload_enble=YES
取消註釋 anon_mkdir_write_enable_YES
添加:anon_other_write_enable=YES
Chown ftp.ftp /var/ftp/pub
重啓服務:systemctl restart vsftpd
(2)在客戶端
ftp 192.168.1.1
六:使用本地實體賬戶登錄
1.配置ftp服務器端
(1)安裝軟件 yum -y install vsftpd
(2)重啓服務 systemctl restart vsftpd
2.配置ftp客戶端
(1)安裝軟件 yum - y install ftp
(2)連接至服務器
ftp 192.168.1.1
賬戶名:服務器上具體的某一賬戶
密碼:賬戶對應的密碼
注:實體賬戶登錄到FTP服務器的默認位置爲實體賬戶的家目錄
實體賬戶具有上傳,下載,創建目錄,刪除文件或目錄的權限
七:虛擬賬戶
1.創建文本文件,添加虛擬賬戶的賬戶名及密碼
Vim /root/f1.txt
文件內容:虛擬賬戶名 密碼
例:test 123
2.生成驗證的數據庫
db_load -T -t hash -f /root/f1.txt /etc/vsftabd/f.db
3.設置驗證文件
(1)將原有驗證文件備份
Cp /etc/pam.d/vsftpd /etc/pam.d/vsftab/bak
(2)生成驗證文件
cp /usr/share/doc/vsftpd-*/EXAMPLE/VIRTUAL_USERS/vsftpd.pam /etc/pam.d/vsftpd
(3) 編輯驗證文件
Vim /etc/pam.d/vsftpd
刪除驗證模塊前的路徑,指定驗證使用的數據庫文件
Auth required pam_userdb.so db=/etc/vsftpd/f1
Account required pam_userdb.so db=/etc/vsftpd/f1
4.創建實體賬戶
Useradd aa
修改實體賬戶家目錄權限
Chmod -R 555 /home/aa
5.修改配置文件
Vim /etc/vsftpd/vsftpd.conf
在文件末尾添加
Guest_enable=YES
Guest_username=aa
6.啓動服務
Systemctl restart csftpd
7.在客戶端
ftp 192.168.1.1
用戶名:test
密碼:123
八:chroot
修改用戶的/根目錄
1.修改配置文件
vim /etc/vsftpd/vsftpd.conf
開啓以下幾行註釋:
Chroot_local_user=YES
Chroot_list_enable=YES
Chroot_list_file=/etc/vsftpd/chroot_list
2.生成chroot_list文件
Vim /etc/vsftpd/chroot_list
將不被chroot的本地實體賬戶寫入文件中
例:aa
3.重啓服務:systemctl restart vsftpd
4.客戶端測試:ftp 192.168.1.1
使用aa和bb 賬戶分別測試
注:如果被chroot的賬戶無法登陸,在服務端的配置文件末尾添加
Echo “allow_writeable_chroot=YES” >> /etc/vsftpd/vsftpd.conf
重啓服務 systemctl restart vsftpd
九:禁止用戶登錄
可以通過設置/etc/vsftpd/ftpusets和/etc/vsftpd/user_list兩個文件控制用戶的登錄
十:排錯
如果vsftpd.service服務無法啓動(啓動失敗),通常是由於配置文件編輯錯誤導致的
可以通過允許一行命令,來查看/etc/vsftpd/vsftpd.conf文件中編輯錯誤的選項或參數
/usr/sbin/vsftpd /etc/vsftpd/vsftpd.c
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.