小编Tur*_*lar的帖子

在 /etc/passwd 文件中将邮件用户的 shell 设置为 /usr/bin/passwd 是否是一种允许他们通过简单的 ssh'ing 更改自己密码的安全方法?

我有一台主要用作邮件服务器的机器:

$ uname -a Linux myhost.com 2.6.32-279.19.1.el6.x86_64 #1 SMP Wed Dec 19 07:05:20 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

我希望那些实际上没有登录机器(但使用它来验证和获取邮件)的用户能够更改自己的密码。如果我将 /usr/bin/passwd 放在 /etc/shells 中(所以 passwd 命令是一个有效的 shell),并为用户更改 shell 条目,如下所示:

someuser:x:557:557:Some User:/home/someuser:/usr/bin/passwd
Run Code Online (Sandbox Code Playgroud)

然后,如果他们通过 ssh 连接到主机,他们会得到如下信息:

$ ssh myhost.com
someuser@myhost.com 的密码:<输入他们当前的密码>
上次登录: 2013 年 9 月 25 日星期三 16:07:35 来自 some-ip
更改用户 someuser 的密码。
更改某个用户的密码。
(电流)的UNIX密码:<键入他们的电流再次密码>
新密码:<输入新密码>
重新输入新密码:<输入新密码再次>
-passwd:所有身份验证令牌成功更新。
与 myhost.com 的连接已关闭。

效果很好……但是它安全吗?他们是否有某种方法可以利用这一点并闯入真正的外壳?

谢谢。

PS 在我的环境中,假设用户已经拥有 ssh 是合理的——但是如果有一个简单的“更好”的密码更改替代方法,我想听听:)

linux ssh shell passwords

5
推荐指数
1
解决办法
1531
查看次数

标签 统计

linux ×1

passwords ×1

shell ×1

ssh ×1