我有 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>