我有几个问题。这是第一个
我们正在尝试在 solaris 8 中自动创建用户。我们提供一个默认密码,然后使用以下命令强制用户在首次登录时更改密码
passwd -f $user
但问题是我们必须输入两次密码才能确认。我尝试使用以下命令自动执行此操作
echo $password | password -f $user
此命令没有任何反应。请问还有其他方法可以实现相同的效果吗?
答案1
我认为你不可能在如此古老的1系统上轻松地做你想做的事情。
我认为这不会起作用,但你可以尝试
echo "password\npassword" | passwd user
您可以尝试使用预计实用程序。这将满足您的要求,并且有大量关于如何使用它更改密码的示例脚本。问题是它可能不是 Solaris 8 的原生组成部分。
另一种方法是使用计算程序来生成密码哈希值墓穴(newpass,salt) 2然后在相应的文件中更改密码字段。
1您在这里以及其他问题中最大的问题是 Solaris 8 太古老了,甚至互联网都忘记了它。它在 2003 年左右被 Solaris 9 取代,Oracle 在 2012 年将其纳入扩展支持。实际上,除非您有扩展支持,否则您将不受支持,不应在商业环境中使用它。
如果您确实需要 Solaris,因为您有古老的应用程序,那么您应该至少升级到 Solaris 10。我猜您运行此 Solaris 8 安装的硬件是 SPARC。好消息是 SPARC 系统与二进制兼容,您应该能够在较新的 SPARC 硬件和受支持的操作系统上运行 Solaris 8 二进制文件。
2 不,我不知道在 Solaris 8 上有什么程序可以做到这一点。如果你有 perl,那么
perl -e 'print crypt("YourPasswd", "salt"),"\n"'
可能会有效。