Proftpd —(登录失败):无效的 shell:'/dev/null'

Proftpd —(登录失败):无效的 shell:'/dev/null'

我正在使用 proftpd。当我尝试登录 FTP 服务器时,它在日志中显示以下消息:

USER Err (Login failed): Invalid shell: '/dev/null'

经过多次搜索,我发现我应该将RequireValidShell其设置为关闭,然后我在日志中收到此错误:

Err chdir("/dev/null"): Not a directory

我还尝试将我的 shell 访问权限设置为“/dev/false”,但这并没有改变任何东西。客户端显示登录失败。我不知道该怎么办了,我花了大约 4 个小时才弄清楚。真的需要一些帮助。

这是我的proftpd.conf:

Include /etc/proftpd/modules.conf
UseIPv6             on
IdentLookups            off
ServerName          "192.168.0.100"
ServerType          standalone
RequireValidShell       off
DeferWelcome            off
MultilineRFC2228        on
DefaultServer           on
ShowSymlinks            on
TimeoutNoTransfer       600
TimeoutStalled          600
TimeoutIdle             600
DisplayLogin                    welcome.msg
DisplayChdir                .message true
ListOptions                 "-l"
DenyFilter          \*.*/
Port                21
<IfModule mod_dynmasq.c>
</IfModule>
MaxInstances            3
User                proftpd
Group               nogroup
Umask               022  022
AllowOverwrite          on
TransferLog         /var/log/proftpd/xferlog
SystemLog               /var/log/proftpd/proftpd.log
<IfModule mod_quotatab.c>
QuotaEngine             off
</IfModule>
<IfModule mod_ratio.c>
Ratios              off
</IfModule>
<IfModule mod_delay.c>
DelayEngine             on
</IfModule>
<IfModule mod_ctrls.c>
ControlsEngine          off
ControlsMaxClients      2
ControlsLog         /var/log/proftpd/controls.log
ControlsInterval        5
ControlsSocket          /var/run/proftpd/proftpd.sock
</IfModule>
<IfModule mod_ctrls_admin.c>
AdminControlsEngine     off
</IfModule>
Include /etc/proftpd/conf.d/
  • PRoFTPD-1.3.4a

  • Xubuntu 12.10

答案1

也许配置帐户的人在分配主目录时就像分配 shell 时一样被误导了。

这可以解释为什么当他们成功登录 FTP 服务时无法进行 chdir 操作。

grep [username] /etc/passwd将显示用户的主目录是否与 shell 一样设置不当。sudo usermod -d /home/[username] -s /usr/sbin/nologin [username]可以为帐户设置合理的 shell 和主目录。您可能还需要sudo mkdir -p /home/[username]sudo chown [username] /home/[username]

相关内容