![更改用户密码后自动出现未知单词](https://linux22.com/image/71804/%E6%9B%B4%E6%94%B9%E7%94%A8%E6%88%B7%E5%AF%86%E7%A0%81%E5%90%8E%E8%87%AA%E5%8A%A8%E5%87%BA%E7%8E%B0%E6%9C%AA%E7%9F%A5%E5%8D%95%E8%AF%8D.png)
我使用的是 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
,您可以通过使用alias
或set
命令来确定是否存在系统范围的别名来找到它。或者,您可以使用该命令检查是否有人已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 位——那么恶作剧就被拉开了。
祝你好运。