Permissions
vsftpd - “553 無法創建文件”
我的
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 並且您正在嘗試以測試使用者的身份編寫