无法创建文件 ftp Ubuntu

无法创建文件 ftp Ubuntu

我已经配置了我的 vsftpd,我想将用户限制在他们的目录中,但我得到了这个

vsftpd: refusing to run with writable root inside chroot()

所以我输入了这个命令,但我得到了它并且它起作用了

sudo chmod aw /home/to/my/dir

但现在我得到了

COMMAND:>   [11/21/2012 12:01:13 AM] STOR SQLyogTunnel.php
        [11/21/2012 12:01:14 AM] 553 Could not create file.
ERROR:>     [11/21/2012 12:01:14 AM] Access denied.

上传文件时,请帮我解决这个问题。

感谢你

答案1

您有几种可能:

  1. 删除用户对主目录的写权限并创建可写的子目录
  2. local_root=/home在配置中设置,将 chroot 设置为 /home
  3. 选择不同的 ftp 守护进程,例如 pure-ftpd。

在更高版本中,vsftpd 包含一个allow_writeable_chroot指令,但是 ubuntu 附带的版本不包含该指令。

不过,你可以从 debian stable 反向移植 vsftpd(假设你使用的是 ubuntu 12.04 或 12.10):

sudo apt-get install build-essential devscripts
sudo apt-get build-dep vsftpd

mkdir ~/build
cd ~/build

wget http://ftp.de.debian.org/debian/pool/main/v/vsftpd/vsftpd_3.0.2-1.dsc \
     http://ftp.de.debian.org/debian/pool/main/v/vsftpd/vsftpd_3.0.2.orig.tar.xz \
     http://ftp.de.debian.org/debian/pool/main/v/vsftpd/vsftpd_3.0.2-1.debian.tar.xz

dpkg-source -x vsftpd_3.0.2-1.dsc
cd vsftpd-3.0.2

# After the following an editor will popup where you can add a
# short changelog entry such as "ported from debian unstable" 
# and than save and exit

# For Ubuntu 12.04
dch -R -D precise

# For Ubuntu 12.10
dch -R -D quantal

dpkg-buildpackage -us -uc -rfakeroot

之后,您将使用以下命令安装它vsftpd_3.0.2-1build1_*.deb~/build

sudo dpkg -i ~/build/vsftpd_3.0.2-1build1_*.deb

此后该allow_writeable_chroot指令应该可以起作用。

相关内容