天天看點

實作centos7下對ftp伺服器賬戶權限的控制

一、建立虛拟使用者

vim /etc/vsftpd/vsuser

ftp1

centos

ftp2

linux

ftp3

Debain

實作centos7下對ftp伺服器賬戶權限的控制

轉換成.db檔案 【注意:必須是.db結尾】

db_load -T -t hash -f vsuser vsuser.db

實作centos7下對ftp伺服器賬戶權限的控制

為了安全起見,修改權限

chmod 600 vsuser.db

二、為虛拟使用者建立系統賬号(此步是為了讓所有的虛拟使用者都映射成系統賬戶)

useradd -d /app/ftpsite -s /sbin/nologin ftpuser

實作centos7下對ftp伺服器賬戶權限的控制

修改共享目錄權限

chown +rx /app/ftpsite

實作centos7下對ftp伺服器賬戶權限的控制

Centos7需要去掉w權限

Chown -w /app/ftpsite

實作centos7下對ftp伺服器賬戶權限的控制

三、修改vsftpd的配置檔案,添加系統賬戶和是否映射成系統賬戶

vim /etc/vsftpd/vsftpd.conf

guest_enable=YES 是否映射成系統賬号

guest_username=ftpvsuser 系統賬戶

實作centos7下對ftp伺服器賬戶權限的控制

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檔案路徑】

實作centos7下對ftp伺服器賬戶權限的控制

到此虛拟使用者可以登入了。

隻是想讓不同的虛拟賬号擁有不同的權限。

user_config_dir=/etc/vsftpd/vhosts.d 【加載使用者配置檔案路徑】

mkdir /etc/vsftpd/vhosts.d 【建立出該路徑】

實作centos7下對ftp伺服器賬戶權限的控制

四、ftp1擁有下載下傳和上傳權限

為了友善管理,不能把所有的檔案都上傳到家目錄裡,是以建立個目錄

mkdir /app/ftpsite/share1

Setfacl -m u:ftpuser:rwx /app/ftpsite/share1 【讓share1目錄本身擁有權限】

實作centos7下對ftp伺服器賬戶權限的控制

Vim /etc/vsftpd/vhosts.d/ftp1 【檔案名必須和建立的虛拟使用者名保持一緻】

anon_upload_enable=YES 開啟上傳

anon_mkdir_write_enable=YES 建檔案夾 

實作centos7下對ftp伺服器賬戶權限的控制

重新開機服務,實驗結果。

實作centos7下對ftp伺服器賬戶權限的控制

此刻使用ftp2實驗上傳和下載下傳

實作centos7下對ftp伺服器賬戶權限的控制

五、同時可以讓ftp2登入共享檔案夾時看到的和ftp1登入看到的不一樣

vim /etc/vsftpd/vhosts.d/ftp2

local_root=/app/ftpsite/share2

mkdir /app/ftpsite/share2/f1 建立出該目錄

實作centos7下對ftp伺服器賬戶權限的控制

測試:

重新開機服務

實作centos7下對ftp伺服器賬戶權限的控制

登入測試

實作centos7下對ftp伺服器賬戶權限的控制

後期相對ftp2做權限控制可以參照ftp1。至此,服務搭建完成。

本文轉自 LUksl 51CTO部落格,原文連結:http://blog.51cto.com/19940919/2059183

繼續閱讀