linux下的vsftp服務

1.什麼是ftp
FTP 是File Transfer Protocol(文件傳輸協議)的英文簡稱,而中文簡稱爲“文傳協議”。用於Internet上的控制文件的雙向傳輸。同時,它也是一個應用程序(Application)。基於不同的操作系統有不同的FTP應用程序,而所有這些應用程序都遵守同一種協議以傳輸文件。VSFTP 是一個基於GPL發佈的類Unix系統上使用的FTP服務器軟件,它的全稱是Very Secure FTP 從此名稱可以看出來,編制者的初衷是代碼的安全。
2.安裝ftp
需要提前配置好yum源,如果沒有可參考之前的博客
軟件安裝

yum install vsftpd  -y
systemctl start vsftpd 
systemctl stop firewalld 
systemctl enable vsftpd 
lftp ip             ##能登陸並且顯示,表示安裝成功
@@如果不能登陸輸入以下命令並修改參數爲SELINUX=disabled@@
vim /etc/sysconfig/selinux

3.vsftpd文件信息

/var/ftp            ##默認發佈目錄
/etc/vsftpd         ##配置目錄
/etc/vsftpd/vsftpd.conf     ##配置文件

4.vsftpd服務的配置參數
首先先來了解以下vsftp報錯id的解析

500 #文件系統權限過大服務不允許,/var/ftp 權限不能爲777
530 #認證失敗,密碼錯誤
550 #權限不夠,服務本身不允許
553 #本地文件系統對你不可寫

1)匿名用戶設定
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

anonymous_enable=YES|NO     ##匿名用戶登陸限制

這裏寫圖片描述
這裏寫圖片描述
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

<匿名用戶上傳>
vim /etc/vsftpd/vsftpd.conf
write_enable=YES
anon_upload_enable=YES
chgrp ftp /var/ftp/pub
chmod 775 /var/ftp/pub名用戶家目錄修改>##注意這裏不能給777權限否則會報錯500
anon_root=/direcotry

這裏寫圖片描述
這裏寫圖片描述
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

<匿名用戶家目錄修改>  ##這個做完之後註釋掉不然影響後面的實驗
anon_root=/direcotry

這裏寫圖片描述
這裏寫圖片描述

<匿名用戶上傳文件默認權限修改>
anon_umask=xxx      ##這裏給022,那麼建立出來的權限應該是777-111-022=644

這裏寫圖片描述
這裏寫圖片描述
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

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

這裏寫圖片描述
這裏寫圖片描述
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

<匿名用戶下載>  
anon_world_readable_only=YES|NO ##設定參數值爲no表示匿名用戶可以下載

這裏寫圖片描述
這裏寫圖片描述
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

#<匿名用戶刪除>
anon_other_write_enable=YES|NO  

這裏寫圖片描述
這裏寫圖片描述
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

#<匿名用戶使用的用戶身份修改>
chown_uploads=YES
chown_username=student
chown_upload_mode=0644

這裏寫圖片描述
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

#<最大上傳速率>
anon_max_rate=204800

這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

#<最大鏈接數>
max_clients=1

這裏寫圖片描述
這裏寫圖片描述

2)本地用戶設定

local_enable=YES|NO     ##本地用戶登陸限制
write_enable=YES|NO     ##本地用戶寫權限限制

這裏寫圖片描述
這裏寫圖片描述

從上圖可以看出本地用戶訪問服務的入口爲student的家目錄
<本地用戶家目錄修改> ##和之前匿名用戶一樣記得做完註釋掉
local_root=/directory
<本地用戶上傳文件權限>
local_umask=xxx     這裏設置爲000 文件系統權限爲666

這裏寫圖片描述
這裏寫圖片描述
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

<限制本地用戶瀏覽/目錄>
所有用戶被鎖定到自己的家目錄中
chroot_local_user=YES
chmod u-w /home/*
用戶黑名單建立
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
用戶白名單建立
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           ##參數設定,此文件變成用戶白名單,只在名單中出現的用戶可以登陸ftp
<ftp虛擬用戶的設定>
創建虛擬帳號身份)
vim /etc/vsftpd/redhat  ##文件名稱任意
ftpuser1
123
ftpuser2
123
ftpuser3
123

db_load -T -t hash -f /etc/vsftpd/redhat redhat.db

vim /etc/pam.d/redhat       ##文件名稱任意
account     required    pam_userdb.so   db=/etc/vsftpd/redhat
auth        required    pam_userdb.so   db=/etc/vsftpd/redhat

vim /etc/vsftpd/vsftpd.conf
pam_service_name=redhat     指定pam配置文件
guest_enable=YES            啓用虛擬帳號支持

虛擬帳號身份指定)
guest_username=ftp          映射虛擬用戶身份
chmod u-w /home/ftp         

虛擬帳號家目錄獨立設定)
vim /etc/vsftpd/vsftpd.conf
local_root=/ftpuserhome/$USER  對虛擬用戶默認末路進行設置
user_sub_token=$USER           安全認證

mkdir /ftpuserhome
chgrp ftpuser /ftpuserhome
chmod g+s /ftpuserhome
mkdir /ftpuserhome/ftpuser{1..3}


虛擬帳號配置獨立)
vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/userconf
mkdir -p /etc/vsftpd/userconf

vim /etc/vsftpd/userconf/ftpuser1
在此文件中設定配置文件中的所有參數,此文件的優先級搞
發佈了32 篇原創文章 · 獲贊 12 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章