endre * ditt * Linux-passord via et bash-skript

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 eller sudo til " endre en annen bruker ' s passord " eksempel for å fungere?
  • Bare root kan bruke passwd username for en annen bruker. Når du kjører passwd (uten username) som root 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 hvis passwd 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.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *