A jelszót a bash parancsra (vagy egyszerűen a shell parancsra)

Most a CIT-nél találtak remek módot arra, hogy megváltoztassák a felhasználó jelszavát a shellből (és innen a scriptből). Általánosságban elmondható, hogy bárki, aki találkozott ezzel a problémával, megért engem.

# echo "felhasználónév: jelszó" | chpasswd

Ez a módszer alkalmas, de nem univerzális. Például a FreeBSD-ben nincs a chpasswd segédprogram.
EOUPD

A gyökér jelszó megváltoztatása megapassword-ra (kezdőbetű a gyökérből):
root @ host:

# echo -e "megapassword \ nmegapassword \ n" | passwd
Jelszó-felhasználónév módosítása (indítás a gyökérből)
root @ host:

# echo -e "megapassword \ nmegapassword \ n" | passwd felhasználónév
Ami világosabb lett volna, megmutatnám, hogy a szóközt a szóközökben:
"Megassword \ n megapassword \ n", ahol a megapassword az új jelszó, és \ n - "nyomja meg" az enter gombot (vagy inkább mozgassa a sort)

A felhasználónévtől kezdődően módosítsuk a felhasználónév jelszavát:
felhasználónév:

$ echo -e "oldpassword \ nmegapassword \ nmegapassword \ n" | passwd
Itt adjuk hozzá a harmadik sort az echo kimenetéhez, amelyben meg kell adnunk a régi jelszót. Amit általában nem tanácsolok.

Nos, hogy nincs kérdés, hogy mi történik:

$ echo -e "oldpassword \ nmegapassword \ nmegapassword \ n"
oldpassword
megapassword
megapassword

Vagyis az STDIN passwd feed STDOUT visszhangja van. És a visszhang és a "press enter"