我有一个带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,我的错误!
答案 0 :(得分:0)
解决方案
经过很多麻烦(真的很多!),我发现了什么问题,并修复了:
问题是Debian 7 + vsftpd 2.x
此vsftpd版本不允许allow_writeable_chroot=YES
幸运的是,一些天使发现了这个bug并创建了vsftpd的固定版本。
仅使用它:
添加
使用此命令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.
aptitude update
aptitude install -t wheezy-updates debian-cyconet-archive-keyring vsftpd
echo "allow_writeable_chroot=YES" >> /etc/vsftpd.conf
/etc/init.d/vsftpd restart
执行此操作后,您可以使用我发布的方法创建一个帐户并在chroot()中使用可写根。