通过 SSH 连接时是否有可以更改密码的 shell?

通过 SSH 连接时是否有可以更改密码的 shell?

这是一个很奇怪的问题,但我希望我的用户能够更改使用本地帐户的 FTPS 服务器的密码。目前所有这些用户都将 /bin/false 设置为 shell,但是否可以设置一个 shell,允许用户更改密码然后断开连接?我尝试设置 /usr/bin/passwd,但在填写当前密码后它就断开连接了。

我正在使用 Debian Wheezy。

答案1

您可能可以使用 ~/.ssh/authorized_keys 文件中的 ssh force-commands 执行某些操作。这在我手头的 CentOS 系统上有效。更改相关密钥的 authorized_key 文件条目,以便它运行 passwd

command="/usr/bin/passwd" ssh-rsa AAAAB3NzaC1yc2EAA...

当有人使用该密钥登录时,该/usr/bin/passwd程序(且只有该程序)将运行。

答案2

我相信你的问题的解决办法是用户分钟。

http://www.webmin.com/usermin.html

Usermin 是一个基于 Web 的界面,用于 Webmail、密码更改、邮件过滤器、fetchmail 等。它专为 Unix 系统上的普通非 root 用户使用而设计,并限制他们只能执行通过 SSH 或控制台登录后才能执行的任务。请参阅标准模块页面,了解 Usermin 内置的所有功能的列表。

根据您的系统类型,安装应该非常简单,因为 *min 包提供 RPM/Yum 存储库/等。

相关内容