Permissions
無法在 vsftpd 中以匿名使用者身份上傳
我在 Ubuntu 16.04 LTS 上執行了 vsftpd。
在安裝過程中,會使用 /srv/ftp 的主目錄創建 ftp 使用者,因此這是預設的 FTP 目錄。
這是我設置的 vsftpd.conf 文件權限。
listen_ipv6=YES anonymous_enable=YES local_enable=YES write_enable=YES local_umask=022 anon_umask=011 anon_upload_enable=YES anon_mkdir_write_enable=YES dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES chroot_local_user=YES allow_writeable_chroot=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd
我想要做的是將文件作為匿名使用者上傳到 ftp 伺服器。我能夠以匿名使用者身份登錄,但是當我嘗試上傳時,我得到了,
200 PORT command successful. Consider using PASV. 553 Could not create file.
現在網際網路上有很多來源都遇到了同樣的錯誤,但沒有一個解決方案能解決我的錯誤。我知道我缺少一些權限。
/srv/ftp 權限設置為 755。
我已經安裝了 vsftpd、filezilla,瀏覽了你的 .conf 並相應地添加了選項:
$ sudo cat /etc/vsftpd/vsftpd.conf | grep -v "#" anonymous_enable=YES local_enable=YES write_enable=YES local_umask=022 anon_upload_enable=YES anon_mkdir_write_enable=YES dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES chown_uploads=YES chown_username=abdullah xferlog_std_format=YES chroot_local_user=YES listen=NO listen_ipv6=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES
filezilla 確實提供了一些回饋,我不得不用我現有的使用者名更改選項chown_username=abdullah 。
然後我遇到了權限問題,這是通過將 ftp 文件夾**/var/ftp/pub的所有權從root更改為ftp**來解決的。然後,我可以上傳和綁定文件但不能修改它們,因為我們有一個 umask 選項。