有没有办法在不改变用户密码的情况下禁用SFTP访问?

我们有一个networking应用程序,允许我们的用户设置供应商的SFTP帐户。 我们希望我们的用户能够以可逆的方式pipe理可以访问其服务器的供应商帐户,即不需要更改密码。

通过小组成员来递交是最好的办法吗?

用户目前被chrooted并在login时入狱到他们的主目录。

该机器正在运行Debian Squeeze(6.0.4)和OpenSSH_5.5p1

我的答案是基于您使用系统用户帐户来pipe理sftp用户的前提。

  1. passwd --lock johndoepasswd --unlock johndoe (不会考虑SSH密钥,但是手册页passwd(1)提供了一个解决方法
  2. 删除用户的系统帐户并从/etc/master.passwd保存密码哈希,然后重新启动用户
  3. 修改用户的loginshell,指向/ bin / noshell或者一个可执行的脚本,用于立即返回错误信息或提供信息
  4. 创build一个“白名单”组和“黑名单”组 – 添加sftp用户到任一组。 相应地修改组权限以允许执行/ usr / libexec / sftp-server或相应的任何操作