![vsftpd + 虚拟用户 + selinux](https://linux22.com/image/614652/vsftpd%20%2B%20%E8%99%9A%E6%8B%9F%E7%94%A8%E6%88%B7%20%2B%20selinux.png)
我无法让 vsftpd 工作,这让我很抓狂。虚拟用户可以连接,但无法上传文件或创建文件夹。我希望有人能帮助我。
我在 ftp 客户端中收到此错误:
553 Could not create file
这是 /var/log/messages 中的错误
Jul 11 12:51:41 appserver kernel: type=1400 audit(1373557901.832:17): avc: denied { write } for pid=3705 comm="vsftpd" name="usr00" dev=dm-0 ino=2097155 scontext=unconfined_u:system_r:ftpd_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:default_t:s0 tclass=dir
这是我的 vsftpd.conf:
pasv_enable=NO
pam_service_name=vsftpd
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
nopriv_user=vsftpd
virtual_use_local_privs=YES
guest_enable=YES
user_sub_token=$USER
local_root=/ftp/$USER
chroot_local_user=YES
hide_ids=YES
guest_username=vsftpd
这是我的 selinux 配置:
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> off
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
ftp_home_dir --> on
ftpd_connect_db --> off
ftpd_use_passive_mode --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
测试用户是 usr00。有一个文件夹 /ftp/usr00 :
ls -Z /ftp
drwxr-xr-x. vsftpd vsftpd unconfined_u:object_r:default_t:s0 cg00
答案1
您是否尝试过public_content_rw_t
在 ftp rw 目录上设置 SELinux 竞赛?或者您有什么理由不想这样做?
chcon -t public_content_rw_t /ftp
ls -lZ /ftp