Solaris / Unix密码在线更改

时间:2017-06-28 15:58:40

标签: passwords solaris solaris-10

我正在尝试在单个命令中更改Solaris上的root密码。到目前为止,我已经尝试过:

echo "password" | passwd --stdin root

在Solaris上返回非法选项 - stdin。

echo -e "password\npassword" | passwd root

返回“新密码”提示。

将Solaris 10和Bash 3.2.51用于脚本。

2 个答案:

答案 0 :(得分:2)

  1. 你可以通过expect来做到这一点。
  2. 您可以使用sed或perl直接编辑/ etc / shadow(当然您之前必须使用哈希密码,但是如果您想在脚本中对其进行硬编码,则可以使用其他系统,手动设置密码将其复制在你的脚本中运行目标系统的脚本。或者自己哈希。不是那么难。
  3. 在从SRU4开始的solaris 11.3中,有一个passwd -p直接设置密码的哈希值。只需将哈希值放入命令行就至少可以模糊密码。
  4. 但我真正的答案是: 不要这样做......只是不要这样做。通过以这种方式设置root密码,您基本上可以在其周围编写带有粉色,蓝色和绿色标记的注释,并在系统中为所有在设置密码时能够运行ps的人员公开root密码。这不包括管理软件将ps输出放入中央存储库的问题,因此这些信息完全不受系统管理员的控制。

答案 1 :(得分:1)

Passwd没有从STDIN读取,并且在Solaris上没有从STDIN读取的选项。

可能的解决方案是使用expect脚本

请参阅:http://www.unix.com/solaris/161023-solaris-passwd-script.html