我们有一个 Web 应用,允许用户设置供应商 SFTP 帐户。我们希望用户能够以可逆方式(即无需更改密码)管理可以访问其服务器的供应商帐户。
通过团体成员身份来处理是不是最好的方式?
目前,用户在登录时被 chroot 并被限制在其主目录中。
该机器正在运行Debian Squeeze(6.0.4)和OpenSSH_5.5p1
答案1
我的回答是基于您使用系统用户帐户来管理 sftp 用户的前提。
passwd --lock johndoe
并且passwd --unlock johndoe
(不会考虑 SSH 密钥,但手册页 passwd(1) 提供了一种解决方法- 删除用户的系统帐户并从 /etc/master.passwd 保存密码哈希,然后在启用后重新创建用户
- 修改用户的登录 shell,使其指向 /bin/noshell 或可执行脚本,该脚本会立即弹出错误或提示信息
- 创建一个组“白名单”和一个组“黑名单” - 将 sftp 用户添加到任一组。相应地修改组权限,以允许一个人执行 /usr/libexec/sftp-server 或其他任何相应的权限,而另一个人则不能