This is just a theory, but it looks like someone might have aliased the passwd
command (poorly, in this case) on your machine, possibly to avoid having to enter the password in twice. The correct sequence for a password exchange should be:
[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]#
If an alias is "eating" the first two lines of the exchange in order to save your input and spit it back out to the passwd
command, you might be able to find it by using the alias
or set
commands to determine if there are system-wide aliases. Alternatively, you could check and see if someone has replaced the passwd
command with a shell script by using the file
command.
[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
If it's not a setuid ELF executable - either 32- or 64-bit - then shenanigans have been pulled.
Good luck.