FTP权限悖论

时间:2016-01-29 00:09:14

标签: ftp user-controls

我有一个带debian,apache 2.0,php的VPS,一切! (不,只是必不可少的)。 我需要让某些用户对特定文件夹有所了解。 (不同,但基数是/var/www/,每个用户都应该有一个个人文件夹)

我设法创建了具有特定主页的帐户,并且无法浏览" up(很难...但我确实在整个谷歌搜索)。

好吧,他们无法创建,修改该文件夹中的enything(他们的家)。 如果我尝试使用其中一个帐户,它会给我:

Response:   550 Rename failed.

嗯,我认为:权限错误,比我做的

chown user path
/etc/init.d/vsftpd restart

我在ftp中输入用户,并尝试登录,错误

Response:   500 OOPS: vsftpd: refusing to run with writable root inside chroot()
eError: Critical error: Could not connect to server

好吧,我已经chown root path让用户再次访问fpt。

再一次,没有权利编辑/创建/删除,我认为:确定! chmod 777整个文件夹和子..

Response:   500 OOPS: vsftpd: refusing to run with writable root inside chroot()
eError: Critical error: Could not connect to server

所以,这是一个僵局,显然我做错了。

我现在用Google搜索了错误,发现:编辑vsftpd.conf添加:

allow_writeable_chroot=YES
allow_writable_chroot=YES

(以防我有vsftpd-ext而不是vsftpd)

这是我如何为ftp创建帐户

1)/# useradd -d path -s /dev/null user > /dev/null 2>&1

2)编辑 etc / shells 文件,添加:/dev/null

3)编辑 etc / vsftpd.conf 删除评论

local_enable=YES
write_enable=YES

感谢任何人可以提供帮助,如果我的英语非常糟糕,我很抱歉,但我认为你应该责怪意大利学校系统...... okok,我的错误!

1 个答案:

答案 0 :(得分:0)

解决方案

经过很多麻烦(真的很多!),我发现了什么问题,并修复了:

问题是Debian 7 + vsftpd 2.x

此vsftpd版本不允许allow_writeable_chroot=YES

幸运的是,一些天使发现了这个bug并创建了vsftpd的固定版本。

仅使用它:

  1. 添加

      

    deb http://ftp.cyconet.org/debian wheezy-updates main non-free contrib

    使用此命令

    到sources.list

    echo "deb http://ftp.cyconet.org/debian wheezy-updates main non-free contrib" >>  /etc/apt/sources.list.
    
  2. aptitude update

  3. aptitude install -t wheezy-updates debian-cyconet-archive-keyring vsftpd

  4. echo "allow_writeable_chroot=YES" >> /etc/vsftpd.conf

  5. /etc/init.d/vsftpd restart

  6. 执行此操作后,您可以使用我发布的方法创建一个帐户并在chroot()中使用可写根。

    感谢The Frontier Group