vsftpd + 虚拟用户 + selinux

vsftpd + 虚拟用户 + selinux

我无法让 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

相关内容