Ubuntu 用户登录权限控制

目前正在测试架设的 Linux 虚拟主机。为安全考虑,需要禁止用户使用 telnet 与 ssh 登录,但可以使用 ftp 登录。

之前的思路是:使用 useradd 添加用户,同时指定用户的 shell 为 false 或 nologin。但这样一来 ftp 也无法登录了。后来找到一种解决方法。以vsftpd 为例:

  1. 修改 /etc/pam.d/vsftpd 的验证模块:

    注销 auth required pam_sheels.so 验证。
  2. 修改 /etc/vsftpd.conf,添加:
  3. 修改 /etc/passwd,指定用户的 shell 为 false 或 nologin:

    当然,也可以让用户登录系统只能够修改密码:
  4. 重启 vsftpd :