我刚刚在我的计算机上安装了一个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时无法访问任何目录,我想我必须设置一些东西,但我不知道是什么。
谢谢
答案 0 :(得分:1)
pure-pw useradd robert -u ftpuser -d / ftphome
用-d,乔会被chrooted。如果你想让joe访问整个 filesystem,使用-D而不是-d。
这意味着/ ftphome将成为用户无法突破的根。并且访问此根目录中的/ usr目录实际上是/ ftphome / usr,在您的情况下可能不存在。