作为非root用户连接时,ftpd无法更改根目录

时间:2015-05-19 12:31:08

标签: ftp permissions embedded-linux busybox

我有一个运行linux的嵌入式系统,我安装了busybox来运行不同的服务。其中一项服务是ftpd,我从etc/init.d/rcS文件开始这样做:

tcpsvd 0.0.0.0 21 ftpd -w -v /mnt/flash&

系统中有两个用户,root用户和普通用户。 root用户可以轻松连接到FTP服务器,但是当我尝试使用普通用户的凭据登录时,我收到此错误:

ftpd[678]: can't change root directory to '/mnt/flash': Operation not permitted

现在,我认为它必须是一个目录权限问题,我开始首先更改/mnt/flash目录的权限,但在此之后无效,我最终将所有文件都存档 - 系统包括/由此常规用户拥有并具有drwxrwxrwt权限(只是为了找到问题的原因)。但我仍然得到这个错误。

我还尝试使用不同的根文件夹启动ftpd,包括/

我也找不到文件系统中ftpd的配置文件,也许我需要手动创建一个?如果是这样,哪一个以及如何告诉ftpd允许用户登录?

我真的很感激任何帮助。感谢。

1 个答案:

答案 0 :(得分:1)

好吧,在尝试了一些随机的事情后,我发现如果根本没有涉及目录更改,用户登录工作正常:

tcpsvd 0.0.0.0 21 ftpd -w -v &

我怀疑chroot被另外调用,而用户无权这样做。