Det är enkelt att ändra ett annat användarlösenord via ett bash-skript – gör bara echo newpw | passwd username och bam, du är klar. Men hur är det med att ändra ditt lösenord via bash? echo newpw | passwd username fungerar inte eftersom det ber dig om ditt nuvarande lösenord innan du låter dig ange ditt nya lösenord.
Kommentarer
- Måste du använda
suellersudoför din " ändra en annan användare ' s lösenord " exempel för att fungera? - Endast
rootkan användapasswd usernameför en annan användare. När du körpasswd(utanusername) somrootdet ber inte om det gamla lösenordet (på mitt Ubuntu 19.10-system). - Yah – jag gjorde
sudo. Frågan står fortfarande lol - Så var du tvungen att ange ditt lösenord för att
sudotill ändra en annan användare ' s lösenord? - Tja, ge det nuvarande lösenordet,
{ sleep .1; echo OLDPASSWORD; for i in 1 2; do sleep .1; echo Trump2020! ; done; } | passwd. Använd... | script -c passwd /dev/nullompasswdvill läsa från en tty. Men du borde verkligen inte ' inte göra det. Säg bättre vad du ' försöker uppnå.
Svar
Om du vill ändra passwd för den aktuella användaren bör detta också göra:
echo -e "MyOldPasswd\nMyNewPasswd\nMyNewPasswd" | passwd
Svar
Du kan använda chpasswd .
sudo chpasswd <<<"neubert:newpass"
Svar
Det fungerar inte med någon halvvägs rimlig installation. Endast root kan ändra andra användares lösenord via passwd user (det borde be om det nya lösenordet). För att ändra ditt eget lösenord, gör passwd, det borde be om det aktuella lösenordet och sedan be om det nya (och bekräftelse).
Tillåter alla slumpmässiga användare att ändra andra lösenord är ett stort säkerhetsproblem.