一、建立虛拟使用者
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檔案路徑】
到此虛拟使用者可以登入了。
隻是想讓不同的虛拟賬号擁有不同的權限。
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。至此,服務搭建完成。
本文轉自 LUksl 51CTO部落格,原文連結:http://blog.51cto.com/19940919/2059183