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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章