2

我刚刚使用以下脚本在我的计算机上安装了一个 FTP 服务器:

#!/bin/bash
groupadd ftpgroup
useradd -g ftpgroup -d /dev/null -s /etc ftpuser
pure-pw useradd robert -u ftpuser -d /ftphome
pure-pw mkdb
cd /etc/pure-ftpd/auth/
ln -s ../conf/PureDB 60pdb
mkdir -p /ftphome
chown -R ftpuser:ftpgroup /ftphome/
/etc/init.d/pure-ftpd restart

然后,我像这样执行它:

chmod 755 setup-ftp
./setup-ftp

我最终以罗伯特的身份连接到它:

~# ftp My_Ip_Address 21

ftp> Name: robert

etc...

ftp> cd /usr

550 Can't change directory to /usr: No such file or directory

所以,我不明白为什么我在使用 ftp 时无法访问任何目录,我想我必须设置一些东西,但我不知道是什么。

谢谢

4

1 回答 1

3

纯密码用户添加罗伯特 -u ftpuser -d /ftphome

文档中

使用 -d,joe 将被 chroot。如果要让 joe 访问整个文件系统,请使用 -D 而不是 -d。

这意味着 /ftphome 将成为他无法突破的用户的根目录。并且访问该根目录中的目录 /usr 实际上是 /ftphome/usr 在您的情况下可能不存在。

于 2016-10-16T13:48:42.950 回答