vsftpd用户禁止ssh登陆的实现方法

前言

vsftp 是一款使用方便,且安全的ftp服务器端的软件。可以使用系统用户登陆,也可以使用虚拟用户登陆,进行登陆。 如果使用系统用户登陆的时候,默认情况,该用户可以登陆到系统中。意思是,可以登陆ftp服务器,也可以登陆到系统的。这样有时候是不安全的,因为登陆系统,就可以看到很多文件。

创建一个系统账号,仅仅让该账号登陆ftp

第一: 在文件 /etc/bash 中添加 /bin/false

  cat /etc/shells  /bin/sh  /bin/bash  /usr/bin/sh  /usr/bin/bash  /bin/false

第二: 指定用户(zhangsan)使用 /bin/false

  usermod -s /bin/false zhangsan

经过两步设置后就可以让用户仅仅只能是用 ftp服务器,并禁止用登陆系统。

备注

  • /bin/false 和 /sbin/nologin是有所不同的。共同的部分是,用户都无法登陆系统。方式可能不同。centos7环境下试了 /bin/fase登陆的时候无提示,直接退出。
  • 之前配置ftp的时候,只用使用 /sbin/nologin ,似乎就可以实现想要的效果,现在则需要用 /bin/false 来解决。

可能的原因

如果之前确实可以用 /sbin/nologin 实现,系统用户仅仅可以登陆ftp, 那我现在环境不行,说明这个和系统设置和vsftp的配置有关系。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

参与评论