vsftpd配置权限问题
1,需求3種不同權限賬戶
a賬戶:完全控制; b賬戶:只能上傳; c賬戶:只能下載
2,安裝
apt install
3,配置步驟
3.1 創建ftpuser系統用戶,指定/home/ftpuser, 修改/home/ftpuser 所屬ftpuser,權限755;
3.2 mkdir /etc/vsftp, mkdir /etc/vsftp/conf。存放登陸用戶和用戶配置信息
3.3 創建/etc/vsftp/login.txt 虛擬賬戶文件,寫入如下信息,奇數行是用戶名,偶數行是密碼
ftpadmin
123
ftpupload
123
ftptest
123
3.2 安裝 db-util ,sudo db_load -T -t hash -f login.conf login.db,生成加密信息
3.4 修改/etc/pam.d/vsftp
auth required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd/login
account required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd/login
3.5 修改/etc/vsftp.conf 配置文件
listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=NO
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=NO
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
nopriv_user=ftpuser
async_abor_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to blah FTP service.
chroot_local_user=YES
chroot_list_enable=NO
allow_writeable_chroot=YES
ls_recurse_enable=NO
pam_service_name=vsftpd (設置 PAM 外掛模塊提供的認證服務所使用的配置文件名)
utf8_filesystem=YES
tcp_wrappers=YES
local_root=/home/ftpuser
anon_root=/home/ftpuser
guest_enable=YES #虛擬賬戶映射系統賬戶
guest_username=ftpuser #虛擬賬戶映射系統賬戶
virtual_use_local_privs=YES (虛擬用戶和本地用戶權限相同。很重要,保證虛擬用戶有和映射的本地用戶相同的權限)
user_config_dir=/etc/vsftpd/conf
另外,從2.3.5之后,vsftpd增強了安全檢查,如果用戶被限定在了其主目錄下,則該用戶的主目錄不能再具有寫權限了!如果檢查發現還有寫權限,就會報該錯誤。
要修復這個錯誤,可以用命令chmod a-w /home/user去除用戶主目錄的寫權限,注意把目錄替換成你自己的。或者你可以在vsftpd的配置文件中增加下列項:
allow_writeable_chroot=YES
問題記錄:
1,默認配置注釋了下面2個選項,其他瀏覽器訪問顯示local_root指定目錄,ie瀏覽器顯示的/根目錄
chroot_local_user=YES
chroot_list_enable=NO
2,打開上面選項,無法登陸了,修改local_root所屬用戶或去掉寫權限,恢復正常,沒法上傳文件
另外,從2.3.5之后,vsftpd增強了安全檢查,如果用戶被限定在了其主目錄下,則該用戶的主目錄不能再具有寫權限了!如果檢查發現還有寫權限,就會報該錯誤。
3,增加allow_writeable_chroot=YES解決問題;
————————————————
版權聲明:本文為CSDN博主「xiaol1314le」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/xiaol1314le/article/details/85395504
總結
以上是生活随笔為你收集整理的vsftpd配置权限问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件测试报告
- 下一篇: tomcat乱码问题解决