虛擬用戶相對之前的匿名用戶和系統賬號登錄在設置上有些不同要修改的地方有點多
1.在一切開始之前不要忘記,關閉iptables,lokkit防火牆,selinux
2.開始正式設置
A vsftp主配置文件/etc/vsftpd/vsftpd.conf
local_enable=YES //允許系統賬號登錄
write_enable=YES //允許寫入
local_umask=022 //上傳文件或文件夾的默認權限
listen=YES //打開21端口進行偵聽
guest_enable=YES //啓用虛擬用戶
guest_username=ftp //虛擬用戶映射的系統賬號
pam_service_name=vsftpd //驗證模塊
virtual_use_local_privs=YES //是否讓各虛擬用戶擁有映射賬號的權限
user_config_dir=/etc/vsftpd/user_conf //各虛擬用戶配置文件所在文件夾
B 修改驗證模塊vsftpd
vim /etc/pam.d/vsftpd
可以把之前的都註釋掉,添加以下
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/ftp_user
account required /lib/security/pam_userdb.so db=/etc/vsftpd/ftp_user
C 生成虛擬用戶數據庫
I.先新建一個密碼文檔,如:
vim /etc/vsftpd/userdb
aa //帳號123456 //密碼
bb //賬號
123456 //密碼
格式爲:一行賬號,一行密碼
II.生成虛擬用戶數據庫
db_load –T –t hash –f /etc/vsftpd/ftpdb /etc/vsftpd/ftp_user.db
D 新建虛擬用戶配置文件
mkdir /etc/vsftpd/user_conf //先新建文件夾vim aa //新建aa的配置文件
添加:
local_root=/testE 新建虛擬用戶家目錄
mkdir /test
chown ftp.ftp /test //這裏要注意屬有者一定要是虛擬用戶映射的本地賬號,否則會無法寫入。
虛擬用戶的傳屬配置
virtual_use_local_privs
這個配置很關鍵,決定了用戶登錄之後的權限歸屬。
virtual_use_local_privs=YES 那麼用戶在登錄之後會被當成系統帳號對待,讀寫權限只受write_enable屬性和文件夾權限限制,如果沒有鎖定登錄文件夾,可以向上一直跳到根目錄。
virtual_use_local_privs=NO 那麼用戶在登錄之後會被當成匿名用戶對待,自動鎖定在登錄文件夾內,讀寫權限不但受到write_enable屬性和文件夾權限的限制,還更進一步受到anno_upload_enable、
anon_world_readable_only、anon_other_write_enable、anon_mkdir_write_enable屬性的影響。
主配置文件vsftpd.conf裏的配置是通用配置,user_config_dir文件夾裏的文件是每個虛擬用戶的配置,這裏配置如果與主配置文件中的相沖突,則會覆蓋掉相沖突的屬性項,以個人配置文件內的爲準。