ændre * din * linux-adgangskode via et bash-script

Det er let nok at ændre en anden brugeradgangskode via et bash-script – bare gør echo newpw | passwd username og bam, du er færdig. Men hvad med at ændre din adgangskode via bash? echo newpw | passwd username fungerer ikke, fordi det beder dig om din nuværende adgangskode, inden du lader dig indtaste din nye adgangskode.

Kommentarer

  • Var du nødt til at bruge su eller sudo til din " ændre en anden bruger ' s adgangskode " eksempel til arbejde?
  • Kun root kan bruge passwd username til en anden bruger. Når du kører passwd (uden username) som root den beder ikke om den gamle adgangskode (på mit Ubuntu 19.10-system).
  • Yah – jeg gjorde sudo. Spørgsmålet står stadig lol
  • Så skulle du indtaste din adgangskode for at sudo til ændre en anden bruger ' s adgangskode?
  • Nå, giv den den aktuelle adgangskode derefter, { sleep .1; echo OLDPASSWORD; for i in 1 2; do sleep .1; echo Trump2020! ; done; } | passwd . Brug ... | script -c passwd /dev/null hvis passwd ønsker at læse fra en tty. Men du burde virkelig ikke ' ikke gøre det. Sig bedre hvad du ' prøver på at opnå.

Svar

Hvis du vil ændre passwd for den aktuelle bruger, skal dette også:

echo -e "MyOldPasswd\nMyNewPasswd\nMyNewPasswd" | passwd 

Svar

Du kan bruge chpasswd .

sudo chpasswd <<<"neubert:newpass" 

Svar

Det fungerer ikke med nogen halvvejs rimelig opsætning. Kun root kan ændre andre brugers adgangskoder via passwd user (det skal bede om den nye adgangskode). For at ændre din egen adgangskode skal du gøre passwd, den skal bede om den aktuelle adgangskode og derefter bede om den nye (og bekræftelse).

Tillader enhver tilfældig bruger at ændre andre adgangskoder er et stort sikkerhedsproblem.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *