Změnit jiné heslo uživatele pomocí bash skriptu je dost snadné – prostě udělejte echo newpw | passwd username
a bam, jste hotovi. Ale co změna vašeho hesla pomocí bash? echo newpw | passwd username
nefunguje, protože vás před zadáním nového hesla vyzve k zadání aktuálního hesla.
Komentáře
- Museli jste pro svůj " použít
su
nebosudo
změnit jiného uživatele ' s hesla " příklad, aby fungoval? - Pouze
root
může použítpasswd username
pro jiného uživatele. Když spustítepasswd
(bezusername
) asroot
nepožaduje staré heslo (v mém systému Ubuntu 19.10). - Jo – dělal jsem
sudo
. Otázka stále stojí za to - Musíte tedy zadat heslo, abyste mohli
sudo
změnit jiného uživatele ' s heslo? - Zadejte mu aktuální heslo,
{ sleep .1; echo OLDPASSWORD; for i in 1 2; do sleep .1; echo Trump2020! ; done; } | passwd
.... | script -c passwd /dev/null
použijte, pokudpasswd
chce číst z tty. Ale opravdu byste to neměli dělat '. Lepší je říci, čeho se ' snažíte dosáhnout.
Odpovědět
Pokud chcete změnit heslo aktuálního uživatele, mělo by to také udělat:
echo -e "MyOldPasswd\nMyNewPasswd\nMyNewPasswd" | passwd
Odpovědět
Můžete použít chpasswd .
sudo chpasswd <<<"neubert:newpass"
Odpověď
To nebude fungovat s žádným z poloviny rozumného nastavení. Pouze root může změnit hesla ostatních uživatelů prostřednictvím passwd user
(mělo by se zobrazit výzva k zadání nového hesla). Chcete-li změnit své vlastní heslo, proveďte passwd
, mělo by vás požádat o aktuální heslo a poté požádat o nové (a potvrzení).
Povolení libovolnému náhodnému uživateli změnit hesla jiných uživatelů je obrovský bezpečnostní problém.