更改用户密码后自动出现未知单词

更改用户密码后自动出现未知单词

我使用的是 Redhat 5.4,当我想要更改 Oracle 用户密码时,按 Enter 键后会立即出现以下情况:

passwd oracle
Retype new UNIX password: 
passwd: all authentication tokens updated successfully.
[root@server~]# H0!gh%12
-bash: H0!gh%12: command not found

** 这不是意外的密码类型。**

为什么会出现“H0!gh%12”以及如何摆脱它?

答案1

这只是一个理论,但看起来有人可能passwd在您的计算机上为该命令起了别名(在本例中效果很差),可能是为了避免输入两次密码。密码交换的正确顺序应该是:

[17:09:50][root@test1][/root]# passwd tester1
Changing password for user tester1.            ## Notice that your exchange
New password:                                  ## is missing these lines
Retype new password: 
passwd: all authentication tokens updated successfully.
[17:10:40][root@test1][/root]# 

如果别名“吃掉”了交换的前两行,以便保存您的输入并将其吐回命令passwd,您可以通过使用aliasset命令来确定是否存在系统范围的别名来找到它。或者,您可以使用该命令检查是否有人已passwd用 shell 脚本替换了该命令file

[17:19:17][root@test1][/root]# file $(which passwd)
/usr/bin/passwd: setuid ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped

如果它不是 setuid ELF 可执行文件——无论是 32 位还是 64 位——那么恶作剧就被拉开了。

祝你好运。

相关内容