vsFTPd 更新后停止工作

Gou*_*ash 17 vsftpd 12.04

我刚刚从 Ubuntu Server 11.10 (Oneiric Ocelot) 更新到 Ubuntu 12.04 LTS (Precise Pangolin)。

它更新了我的 vsFTPd 安装,似乎发生了一些变化:/我使用 PAM 身份验证。什么可能改变导致这种情况?

尝试连接到 FTP 服务器时出现此错误:

500 OOPS: vsftpd: refusing to run with writable root inside chroot()
Run Code Online (Sandbox Code Playgroud)

我尝试使用谷歌搜索它,它说要添加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
Run Code Online (Sandbox Code Playgroud)

瞧:)

小智 11

我也有这个问题,我认为这是因为新的 vsFTPd 更新来增强安全性,所以在此期间我使用了这个解决方案。

  1. 我通过在终端中使用它来修改我的 FTP 用户在他/她第一次登录时进入的文件夹(根文件夹): sudo chmod a-w /home/user

    您可以更改/home/user为您的 FTP 用户的根文件夹。

  2. 在文件夹中创建一个子文件夹,通过使用 GUI,或者如果你只有一个终端,它是: sudo mkdir /home/user/newfolder

现在您应该能够登录并在“新文件夹”中读写。您将无法使用 chmod aw 从 FTP 客户端写入根文件夹本身,因此这就是子文件夹的原因,您可以在那里。

我想在不久的将来会有一个修复,但同时我希望这会有所帮助。


lum*_*ric 9

有人向后移植了allow_writeable_chroot=YES要从 3.0.0 版添加到 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
Run Code Online (Sandbox Code Playgroud)

请注意,在 vsftpd-ext 中似乎有一个选项 allow_writable_chroot=YES- 请注意 mssing e!(或者这是博客文章中的错字?)


Jak*_*kob 6

vsFTPd 3.0.0 增加了一个配置选项,

allow_writeable_chroot=YES
Run Code Online (Sandbox Code Playgroud)

再次启用以前的行为(来源:修复 500 OOPS:vsFTPd:拒绝在 chroot() 内使用可写根运行,来自 Brian K. White 的评论)。

不幸的是,Ubuntu 尚未打包 3.0.0。所以与此同时,降级到一些旧版本。例如,我在 Ubuntu 12.04(精确穿山甲)上使用这个:http : //packages.ubuntu.com/oneiric-updates/vsftpd