Det er enkelt nok å endre et annet brukerpassord via et bash-skript – bare gjør echo newpw | passwd username
og bam, du er ferdig. Men hva med å endre passordet ditt via bash? echo newpw | passwd username
fungerer ikke fordi det ber deg om det nåværende passordet ditt før du lar deg skrive inn det nye passordet.
Kommentarer
- Måtte du bruke
su
ellersudo
til " endre en annen bruker ' s passord " eksempel for å fungere? - Bare
root
kan brukepasswd username
for en annen bruker. Når du kjørerpasswd
(utenusername
) somroot
det ber ikke om det gamle passordet (på mitt Ubuntu 19.10-system). - Yah – jeg gjorde
sudo
. Spørsmålet står fortsatt lol - Så måtte du oppgi passordet ditt for å
sudo
til endre en annen bruker ' s passord? - Vel, gi det gjeldende passord da,
{ sleep .1; echo OLDPASSWORD; for i in 1 2; do sleep .1; echo Trump2020! ; done; } | passwd
. Bruk... | script -c passwd /dev/null
hvispasswd
vil lese fra en tty. Men du burde egentlig ikke ' ikke gjøre det. Bedre si hva du ' prøver å oppnå.
Svar
Hvis du vil endre passwd til den nåværende brukeren, bør dette også:
echo -e "MyOldPasswd\nMyNewPasswd\nMyNewPasswd" | passwd
Svar
Du kan bruke chpasswd .
sudo chpasswd <<<"neubert:newpass"
Svar
Det vil ikke fungere med et hvilket som helst rimelig oppsett. Bare root kan endre andre brukeres passord, via passwd user
(det skal be om det nye passordet). For å endre ditt eget passord, gjør du passwd
, det bør be om gjeldende passord og deretter be om det nye (og bekreftelse).
Tillater enhver tilfeldig bruker å endre andre passord er et stort sikkerhetsproblem.