1. 程式人生 > >實現centos7下對ftp服務器賬戶權限的控制

實現centos7下對ftp服務器賬戶權限的控制

pam.d acc rwx 下載 sbin vpd nag ado 安全

一、建立虛擬用戶
vim /etc/vsftpd/vsuser
ftp1
centos
ftp2
linux
ftp3
Debain
技術分享圖片
轉換成.db文件 【註意:必須是.db結尾】
db_load -T -t hash -f vsuser vsuser.db
技術分享圖片
為了安全起見,修改權限
chmod 600 vsuser.db
二、為虛擬用戶創建系統賬號(此步是為了讓所有的虛擬用戶都映射成系統賬戶)
useradd -d /app/ftpsite -s /sbin/nologin ftpuser
技術分享圖片
修改共享目錄權限
chown +rx /app/ftpsite
技術分享圖片
Centos7需要去掉w權限
Chown -w /app/ftpsite
技術分享圖片
三、修改vsftpd的配置文件,添加系統賬戶和是否映射成系統賬戶
vim /etc/vsftpd/vsftpd.conf
guest_enable=YES 是否映射成系統賬號
guest_username=ftpvsuser 系統賬戶
技術分享圖片
pam_service_name=vsuser 【pam配置文件名稱。原本是vsftp】

創建文件名稱
vim /etc/pam.d/vsuser
auth required pam_userdb.so db=/etc/vsftpd/vsuser
account required pam_userdb.so db=/etc/vsftpd/vsuser 【此兩行路徑是創建虛擬用戶數據的文件路徑,即vsuser.db文件路徑】
技術分享圖片
到此虛擬用戶可以登錄了。
只是想讓不同的虛擬賬號擁有不同的權限。

vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/vhosts.d 【加載用戶配置文件路徑】
mkdir /etc/vsftpd/vhosts.d 【創建出該路徑】
技術分享圖片
四、ftp1擁有下載和上傳權限
為了方便管理,不能把所有的文件都上傳到家目錄裏,所以創建個目錄
mkdir /app/ftpsite/share1
Setfacl -m u:ftpuser:rwx /app/ftpsite/share1 【讓share1目錄本身擁有權限】
技術分享圖片
Vim /etc/vsftpd/vhosts.d/ftp1 【文件名必須和創建的虛擬用戶名保持一致】
anon_upload_enable=YES 開啟上傳
anon_mkdir_write_enable=YES 建文件夾
技術分享圖片
重啟服務,實驗結果。
技術分享圖片
此刻使用ftp2實驗上傳和下載
技術分享圖片
五、同時可以讓ftp2登錄共享文件夾時看到的和ftp1登錄看到的不一樣
vim /etc/vsftpd/vhosts.d/ftp2
local_root=/app/ftpsite/share2
mkdir /app/ftpsite/share2/f1 創建出該目錄
技術分享圖片
測試:
重啟服務
技術分享圖片
登錄測試
技術分享圖片
後期相對ftp2做權限控制可以參照ftp1。至此,服務搭建完成。

實現centos7下對ftp服務器賬戶權限的控制