我刚刚从 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 更新来增强安全性,所以在此期间我使用了这个解决方案。
我通过在终端中使用它来修改我的 FTP 用户在他/她第一次登录时进入的文件夹(根文件夹): sudo chmod a-w /home/user
您可以更改/home/user为您的 FTP 用户的根文件夹。
在文件夹中创建一个子文件夹,通过使用 GUI,或者如果你只有一个终端,它是: sudo mkdir /home/user/newfolder
现在您应该能够登录并在“新文件夹”中读写。您将无法使用 chmod aw 从 FTP 客户端写入根文件夹本身,因此这就是子文件夹的原因,您可以在那里。
我想在不久的将来会有一个修复,但同时我希望这会有所帮助。
有人向后移植了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!(或者这是博客文章中的错字?)
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
| 归档时间: |
|
| 查看次数: |
49809 次 |
| 最近记录: |