在 Ubuntu 上允许 ftp 访问但禁用终端访问

在 Ubuntu 上允许 ftp 访问但禁用终端访问

我有 2 个用户,我想禁用他们的终端访问,但仍保留 ftp 访问权限。我该如何实现?

编辑

忘了提一下,我正在使用 vsftpd。

答案1

Proftpd 不会允许 nologin shell,只需通过仅允许受信任的 shell 用户来禁用 SSH 中的非 shell 用户:

sshd_config

AllowUsers toto john chuck morice

答案2

我刚刚偶然发现了这篇文章:

将登录 shell 设置为/sbin/nologin使用例如 quanta 的注释可能会导致出现一些登录问题,并显示消息(530 Login incorrect)。这可能是由于此 shell 未在系统中注册。只需将其添加到/etc/shells,问题即可解决。

(/bin/false 也一样...)

答案3

你可以使用以下命令禁用 shell:

usermod -s /sbin/nologin <ftp_user>

或使用虚拟用户。

答案4

由于

RequireValidShellproftpd 中的指令默认为 ON,需要将 /bin/false 添加到 /etc/shells 或将 RequireValidShell 设置为关闭,然后

usermod -s /bin/false <ftp_user>

参考 :proftpd RequireValidShell 指令手册页

相关内容