在Linux上以root身份运行的/etc/shadow上使用awk检查密码

在Linux上以root身份运行的/etc/shadow上使用awk检查密码,awk,embedded-linux,etcpasswd,Awk,Embedded Linux,Etcpasswd,我在一个嵌入式linux机器上,我是根用户。我已经设置了一个密码,该密码存在于/etc/shadow文件中 现在以root用户身份运行并在shell脚本中使用以下逻辑,我可以检查是否设置了密码 if [ `awk -F ':' '/^'$i':/ {print $2}' /etc/shadow` ] ; then echo "Password is set" ; # How can I check, compare or retrieve the passwor

我在一个嵌入式linux机器上,我是根用户。我已经设置了一个密码,该密码存在于
/etc/shadow
文件中

现在以root用户身份运行并在shell脚本中使用以下逻辑,我可以检查是否设置了密码

if [ `awk -F ':' '/^'$i':/ {print $2}' /etc/shadow` ] ; then 
   echo "Password is set" ;
   # How can I check, compare or retrieve the password now assuming that I am the root user with all privs
else 
   echo "Password is not set";
fi
问题:
我想检查并比较密码集是否等于“Password123”。是否可以扩展上述逻辑来实现这一点?只需检查密码是否设置为默认值


请注意,我是以root用户身份运行的,在运行Fedora的嵌入式linux机器上拥有所有权限。

我认为可以编写比较逻辑,但我真的怀疑O.S中的任何文件都会存储密码(当然不是纯文本),尽管我根本不是O.S专家,但我对此表示怀疑。如果提到的文件真的有这些条目,那么请将它们添加为示例,我们可以在这方面为您提供更多指导,谢谢。是的。密码在该文件中被解密。但是,我在想,如果使用root权限运行,是否有Linux OS API来检查密码?此外,我正在设置默认密码。我只想检查一下密码是默认的还是改成了其他的。就这样。如果我将密码设置为“pswd007”,那么是否可以检查密码是否为“pswd007”?这不是不可能的,但我可能不会为此使用shell脚本(特别是如果我的脚本触发了警告)。请提供有关如何配置
/etc/shadow
的详细信息。