如何使用 shell 脚本在 AIX 和 Linux 上将哈希密码交换为较新的密码?

如何使用 shell 脚本在 AIX 和 Linux 上将哈希密码交换为较新的密码?

我们有 AIX 和 Linux 机器,可以使用 puppet 自动更改密码。

但在某些情况下,我们需要手动执行此操作。但我决定编写一个脚本,用较新的哈希值替换旧哈希值。

我尝试混合使用两个不同的脚本来实现这一点:

第一步)

#!/bin/bash
# function
$os = 'uname -a | grep AIX'
if [ $os = 'AIX']
then
  $dir='/etc/security/passwd'
else
  $dir='/etc/shadow'
fi

第二步)取出旧哈希并放入空格(但我想放入新哈希):

function exchange_hash () {
echo "Extract hash..."
pass=`cat $dir | grep $user | awk -F: '{print $2}'`
}

我如何调用该函数并用较新的哈希替换旧哈希。我只需输入:

第一个参数 -> 用户名

第二个参数 -> newhash

该脚本需要在 AIX\Linux 上均可运行。我知道我必须调用 sh 才能在 AIX 上调用该脚本。

提前致谢!

相关内容