VSFTP是一個基於GPL發佈的類Unix系統上使用的FTP服務器軟件,它的全稱是Very Secure FTP 今後名稱能夠看出來,編制者的初衷是代碼的安全。它是一個安全、高速、穩定的FTP服務器。vsftpd有三種模式。匿名模式。用戶模式,還有虛擬用戶模式。咱們分別來配置一下這幾種模式。數據庫
yum install vsftpd -y #安裝vim
systemctl restart vsftpd #重啓安全
systemctl stop firewalld #關閉防火牆(後面實驗成功後再開啓)服務器
匿名用戶:ide
默認狀況下,vsftpd的匿名用戶是打開的,客戶端是能夠訪問的。測試
客戶端訪問:OK(輸入ftp://ftp服務器IP地址)spa
默認是沒有權限寫入的。咱們去主配置文件配置寫入權限吧。3d
vim /etc/vsftpd/vsftpd.conf #打開主配置文件,添加以下內容,注意不要與文中重疊rest
解釋:orm
anonymous_enable=yes#容許匿名訪問模式
anon_upload_enable=yes#容許匿名用戶上傳文件
anon_mkdir_write_enable=yes#容許匿名用戶建立目錄
anon_other_write_enable=yes#容許匿名用戶修改目錄名和刪除目錄
anon_world_readable_only=no#容許匿名用戶下載可閱讀文件(默認yes,拒絕)
chown ftp /var/ftp/pub #修改屬主爲ftp
ls -ld /var/ftp/pub #查看權限/var/ftp/pub默認爲ftp匿名路徑
getsebool -a | grep ftp#查看全部與ftp相關的SELinux規則
setsebool -P ftpd_full_access=on#設置SELinux服務隊ftp服務訪問規則策略爲容許
注意:(這裏能夠先無論,暫時關閉命令 setenforce 0 )
systemctl restart vsftpd #重啓
客戶端測試OK(有讀取權限)
匿名用戶的默認路徑是/var/ftp/pub,咱們是能夠修改默認路徑的
mkdir -p /var/tang/laotang6 #建立匿名路徑
vim /etc/vsftpd/vsftpd.conf #打開主配置文件,添加以下命令
anon_root=/var/tang #指明匿名用戶的路徑爲/var/tang
記得修改屬主,纔有權限寫入哦!!
chown ftp /var/tang/laotang6 #修改屬主爲ftp
chmod o+w /var/tang #給予目錄讀寫權限
客戶端測試: OK(有讀取權限)
本地用戶:
本地用戶配置仍是比較簡單,只要系統存在用戶就能夠登陸,默認本地用戶也是開啓的。
useradd tang #建立賬號tang
password tang #修改用戶tang的密碼
vim /etc/vsftpd/vsftpd.conf #打開主配置文件,關閉匿名用戶
注意,這裏只要把匿名用戶no掉就好了,不用一條條註釋它們。
systemctl restart vsftpd #重啓
客戶端測試:OK (有讀取權限)
登陸成功(路徑是用戶的家目錄例如個人路徑是:/home/tang)
本地用戶的默認路徑是/home/用戶名,咱們是能夠修改默認路徑的
mkdir -p /var/laotang/tang #建立本地路徑
vim /etc/vsftpd/vsftpd.conf #打開主配置文件,添加以下命令
local_root=/var/laotang6 #指明本地用戶的路徑爲/var/laotang6
chmod o+w /var/laotang6 #給予目錄讀寫權限
客戶端測試: OK(有權限寫入)
虛擬用戶:
虛擬用戶相對來講是比較安全的,由於賬號,是虛擬出來的,不存在於本地,
虛擬用戶咱們來作個實驗,讓張三(有讀寫權限),李四(只有讀取權限),
分別指向不一樣的文件目錄。
mkdir /etc/ftp #建立目錄
cd /etc/ftp
vim/etc/ftp/user.txt #添加以下內容,單行爲賬號,雙行爲密碼
將上面建立的賬號密碼轉化爲數據庫文件
db_load -T -t hash -f user.txt user.db
vim /etc/pam.d/laotang6 #創建pam配置文件,文件名自定義。進行如下配置
建立本地用戶,給虛擬用戶映射。
useradd laotang6 #建立賬號laotang6
password laotang6 #修改用戶laotang6的密碼
vim /etc/vsftpd/vsftpd.conf
注意:修改主配置文件中最下面的pam_service_name=vsftpd 爲咱們建立的laotang6
解釋:
guest_enable=yes #開啓虛擬用戶模式
guest_username=laotang6 #隱射本地用戶帳號
user_config_dir=/etc/ftp #建立用戶獨立的權限配置文件存放目錄
chroot_local_user=yes #將用戶限制在主目錄
pam_service_name=laotang6 #指定咱們前面建立的pam文件
mkdir -p /home/laotang6/zhangsan/zs #建立張三的共享目錄
mkdir -p /home/laotang6/lisi/ls #建立李四的共享目錄
在指定的目錄下cd /etc/ftp,以虛擬用戶名建立的文件權限配置文件
cd /etc/ftp
vim zhangsan #建立張三的權限配置文件(要以虛擬用戶名作文件名)
chmod o+w /home/laotang6/zhangsan/zs #給予目錄讀寫權限
vim lisi
systemctl restart vsftpd #重啓
客戶端測試: OK
張三(有讀寫權限)
李四(只有讀取權限)
systemctl restart firewalld #開啓防火牆
容許防火牆
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
以上實驗配置完畢。