Permissions

vsftpd - “553 無法創建文件”

  • March 27, 2016

我的vsftpd.

這是我的資訊:

# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 7.0 (Maipo)
# uname -a
Linux ip-10-150-53-42.ec2.internal 3.10.0-123.el7.x86_64 #1 SMP Mon May 5 11:16:57 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux
# rpm -q vsftpd
vsftpd-3.0.2-9.el7.x86_64
# ll -d /usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS
drwxr-xr-x. 2 root root 98 Jun 13 20:33 /usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS
# grep -v ^# /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
listen=NO
listen_ipv6=YES

pam_service_name=vsftpd.pam
userlist_enable=YES
tcp_wrappers=YES

guest_enable=YES
local_root=/var/www/html/$USER
user_sub_token=$USER
hide_ids=YES
nopriv_user=apache
virtual_use_local_privs=YES
log_ftp_protocol=YES
xferlog_std_format=YES
syslog_enable=YES
# getsebool ftp_home_dir
ftp_home_dir --> on
# 

我正在嘗試在內部使用虛擬使用者功能vsftpd,而身份驗證部分可以正常工作,但不幸write的是不起作用。

# ls -ld /var/www/html/
drwxr-xr-x. 5 root root 71 Jun 14 13:45 /var/www/html/
# ls -ld /var/www/html/test/
drwxrwxr-x. 2 apache apache 30 Jun 14 14:45 /var/www/html/test/
# cd /etc/
# ftp 0
Connected to 0 (0.0.0.0).
220 (vsFTPd 3.0.2)
Name (0:root): test
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> put fstab
local: fstab remote: fstab
227 Entering Passive Mode (127,0,0,1,202,176).
553 Could not create file.
ftp> 221 Goodbye.
# 

我嘗試禁用(允許)和啟用(強制執行)SELinux,但結果仍然相同(

我錯過了什麼?

我不確定為什麼(可能是錯誤?),即使nopriv_user設置為apache,但不知何故vsftpd認為它設置為ftp

# grep ^nopriv_user vsftpd.conf
nopriv_user=apache
#

…但是當我上傳文件時,它就像nopriv_user設置為ftp

# ls -ld test test/13924501638_26bbdf9023_o.jpg
drwxrwxr-x. 2 apache ftp      41 Jun 17 13:01 test
-rw-r--r--. 1 ftp    ftp 2885458 Jun 17 13:01 test/13924501638_26bbdf9023_o.jpg
# 

所以,除非我做錯了什麼,否則我應該將它vsftpd作為錯誤送出。

也許是因為目錄。所有者是 root 並且您正在嘗試以測試使用者的身份編寫

引用自:https://serverfault.com/questions/605193