更新后vsFTPd停止工作
我刚从Ubuntu Server 11.10(Oneiric Ocelot)更新到Ubuntu 12.04 LTS(精确穿山甲)。
它更新了我的vsFTPd安装,似乎发生了一些变化:/我使用PAM身份validation。 有什么可以改变导致这个?
尝试连接到FTP服务器时出现此错误:
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
我试着用谷歌搜索它,它说要在配置文件中添加allow_writable_root=YES
– 但是当我尝试这个并尝试重新启动vsftpd时它无法重启。 为什么?
这是我实际修复它的方式:
wget http://http.us.debian.org/debian/pool/main/v/vsftpd/vsftpd_3.0.2-3_amd64.deb -O vsftpd.deb dpkg -i vsftpd.deb echo "allow_writeable_chroot=YES" >> /etc/vsftpd.conf service vsftpd reload
瞧:)
我也有这个问题并且认为这是因为新的vsFTPd更新增强了安全性,所以在此期间我使用这个解决方案。
-
我通过在终端中使用这个来修改我的FTP用户首次登录的文件夹(根文件夹):
sudo chmod aw /home/user
您可以将
/home/user
更改为FTP用户的根文件夹。 -
通过使用GUI在文件夹中创建一个子文件夹,或者如果你只有一个终端,它是:
sudo mkdir /home/user/newfolder
现在,您应该能够在“newfolder”中登录并阅读。 您将无法使用chmod aw从FTP客户端写入根文件夹本身,因此这是子文件夹的原因,您可以在那里。
我想在不太长的时间里会有一个修复,但在此期间我希望这会有所帮助。
有人向后移植了该function,将版本3.0.0中的allow_writeable_chroot=YES
添加到2.3.5(参见此博客条目 )。
要在Ubuntu 12.04(Precise Pangolin)上安装,请以root身份运行以下命令:
add-apt-repository ppa:thefrontiergroup/vsftpd apt-get update apt-get install vsftpd echo allow_writeable_chroot=YES >> /etc/vsftpd.conf
请注意 ,在vsftpd-ext中似乎有一个选项 allow_writable_chroot=YES
– 注意mssing e ! (或者这是博客文章中的拼写错误?)
vsFTPd 3.0.0添加了一个配置选项,
allow_writeable_chroot=YES
再次启用以前的行为(来源: 修复500 OOPS:vsFTPd:拒绝在chroot()内部使用可写根运行 ,来自Brian K. White的评论)。
不幸的是,Ubuntu尚未打包3.0.0。 所以在此期间,降级到一些旧版本。 例如,我在Ubuntu 12.04(Precise Pangolin)上使用这个: http : //packages.ubuntu.com/oneiric-updates/vsftpd
作为用户Kristian做事的另一种方式:它对我有用。 我使用的用户名是’john’。 将其替换为您想要的用户名。
sudo chmod aw /home/john
– 删除所有用户删除或修改文件的权限。
sudo mkdir /home/john/ftp
– 在用户’john’的主目录中创建一个名为’ftp’的文件夹
sudo chown -Rv john.john /home/john/ftp
– 将dir的所有权更改为“john”组和用户“john”。
为什么?
在错误1065714中从我自己的答案中采取并改编。
为了使稳定版本保持稳定,发布后的更新仅在特定情况下进行考虑。 此处列出了流程和所需标准的详细信息: https : //wiki.ubuntu.com/StableReleaseUpdates#When
这确实使得LTS版本的用户难以具有可写的chroot,因为上游vsftpd项目在12.04发布时决定在没有此function的情况下发布。 现在12.04已经发布且修复不符合上述标准,我认为这不会改变为12.04。 但请注意, 稳定版本更新团队对此做出了最终决定,并且尚未向他们提出更新。
如果您希望通常为想要使用“allow_writeable_chroot”选项的用户提供较新版本的vsftpd,则backports存储库是适合此类的场所。 使用backport,想要该function的用户可以只添加backports存储库并从那里安装vsftpd。 你可以在这里找到更多关于backports以及如何申请的信息: https : //wiki.ubuntu.com/UbuntuBackports
与此同时,The Frontier Group已经提供了PPA,如lumbric的回答所述。 或者您可以使用其中一个适用于您的其他答案。
- Apache无法启动,地址已在使用中(但不是真的)
- 将Ubuntu 12.04升级到14.04后,PostgreSQL无法重新安装
- Ubuntu 12.04冻结,需要powercycle。 我应该在日志中查看/ grep?
- 更新后,音频将无法通过HDMI电缆播放
- 为什么/ etc / hosts文件不起作用?
- 在Ubuntu 12.04中安装最新的Gwibber(friends-app)?
- 使用vesa驱动程序在Toshiba NB510(GMA 3650)中修复800×600分辨率
- Ubuntu 12.04的开罗docker
- 适用于Ubuntu 12.04上Chrome或Chromium浏览器的Flash播放器