ftp文件傳輸協議

ftp文件傳輸協議

1.ftp://文件傳輸協議
2.ftp協議提供的軟件 在rhel7中是vsftpd
3.服務端部署ftp服務
[root@server Desktop]# yum install vsftpd -y
[root@server Desktop]# systemctl start vsftpd.service  
[root@server Desktop]# systemctl enable vsftpd.service          #設置開機自動啓動
[root@server Desktop]# firewall-cmd --permanent --add-service=ftp
將ftp服務添加至火牆策略
[root@server Desktop]# firewall-cmd --reload                            #重新加載,讓策略生效

如下圖,該策略生效後,可以查看到


如下圖,將ftp服務在服務端部署好後,客戶端主機可以與其建立連接,下圖ip爲server端主機ip


4.ftp服務的基本信息
軟件安裝包 vsftpd
默認發佈目錄: /var/ftp/
協議接口: 21/tcp     

服務配置文件:/etc/vsftpd/vsftpd.conf

注意:該默認路徑是不能打開所有權限的,即不能爲這個目錄授予777的權限,否則在服務端連接會出現下列報錯


 

4.ftp基本配置
vim /etc/vsftpd/vsftpd.conf
(1)匿名用戶(匿名用戶使用的身份是ftp用戶)
<匿名用戶登陸>
anonymous_enable=YES|NO      #匿名用戶是否可以登陸
<匿名用戶上傳本地文件>
匿名用戶上傳:必須自己再/var/ftp目錄下建立一個目錄,如pub。再給這個目錄授予某個身份的滿權限,這裏將ftp匿名用戶的登陸身份加入到這個/var/ftp/pub目錄的組裏。 
write_enable=YES

anon_upload_enable=YES

如果設爲YES,則允許匿名登入者有上傳文件(非目錄)的權限,只有在write_enable=YES時,此項纔有效。當然,匿名用戶必須要有對上層目錄的寫入權。默認值爲NO 

[root@server ftp]# chgrp ftp /var/ftp/pub/
[root@server ftp]# chmod 775 /var/ftp/pub/
[root@server ftp]# systemctl restart vsftpd.service  #重啓服務

測試 

客戶端建立連接並上傳本地文件

服務端的/var/ftp/pub目錄查看是否成功上傳


   anon_root=/目錄名                                   <匿名用戶家目錄修改>

   anon_umask=xxx                                      <匿名用戶上傳文件默認權限修改> 

   anon_mkdir_write_enable=YES            <匿名用戶建立目錄>

如果設爲YES,則允許匿名登入者有新增目錄的權限,只有在write_enable=YES時,此項纔有效。當然,匿名用戶必須要有對上層目錄的寫入權。默認值爲NO。


   anon_world_readable_only=NO            <匿名用戶下載>


   anon_other_write_enable=YES             <匿名用戶刪除文件>

如 果設爲YES,則允許匿名登入者更多於上傳或者建立目錄之外的權限,譬如刪除或者重命名。(如果anon_upload_enable=NO,則匿名用戶 不能上傳文件,但可以刪除或者重命名已經存在的文件;如果anon_mkdir_write_enable=NO,則匿名用戶不能上傳或者新建文件夾,但 可以刪除或者重命名已經存在的文件夾。)默認值爲NO。


  chown_uploads=YES                               <匿名用戶使用的身份修改>
  chown_username=student            
  anon_max_rate=102400                          <匿名用戶最大上傳速率>

  max_clients=2                                            <匿名用戶最大鏈接數>

Tips:文件傳輸時候的報錯

550:服務本身功能未開放
530:用戶認證失敗
553:本地文件權限過小
500:文件系統權限過大

 
(2)本地用戶的相關配置
 local_enable=YES/NO(YES)
控制是否允許本地用戶登入,YES 爲允許本地用戶登入,NO爲不允許。默認值爲YES。
local_root=/home/username

當本地用戶登入時,將被更換到定義的目錄下。默認值爲各用戶的家目錄。


write_enable=YES/NO(YES)
是否允許登陸用戶有寫權限。屬於全局設置,默認值爲YES。
local_umask=022
本地用戶新增檔案時的umask 值。默認值爲077。
 
chroot_local_user=YES           <限制本地用戶瀏覽/目錄 所有用戶都鎖到自己家中>

chmod u-w /home/*

設置前:

設置後:


 
用戶黑名單的建立
chroot local user=NO
chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

vim /etc/vsftpd/chroot_list

student


 
用戶白名單的建立
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
 
限制本地用戶登錄
vim /etc/vsftpd/ftpusers              用戶黑名單
vim /etc/vsftpd/user_list             用戶臨時黑名單
 
用戶白名單設定
userlist_deny=NO
/etc/vsftpd/user_list                   參數設定,此文件變成用戶白名單,只有名單內的人可以登錄
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章