W obecnej wersji Raspian wiem, że można zmienić hasło aktualnie zalogowanego użytkownika z wiersza poleceń w następujący sposób:
sudo passwd
co spowoduje wyświetlenie monitu o dwukrotne wprowadzenie nowego hasła. Spowoduje to wytworzenie danych wyjściowych w następujący sposób:
Changing password for pi.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Zastanawiałem się, czy istnieje możliwość programowej zmiany hasła, na przykład ze skryptu powłoki.
Próbuję utworzyć skrypt konfiguracyjny do wdrożenia na moim Raspberry Pis i nie chcę ręcznie wpisywać dla nich nowych haseł.
sudo
. Jeśli go użyjeszsudo
, możesz wymusić nowe hasło dla dowolnego użytkownika bez konieczności znajomości aktualnego hasła tego użytkownika.expect(1)
może również pomóc.Odpowiedzi:
Szukasz
chpasswd
polecenia. Zrobiłbyś coś takiego:Pamiętaj, że należy go uruchomić jako root, przynajmniej z domyślną konfiguracją PAM. Ale prawdopodobnie uruchamiany jako root nie stanowi problemu dla skryptu wdrażania systemu.
Ponadto możesz wykonywać wielu użytkowników jednocześnie, zasilając je wieloma wierszami danych wejściowych.
źródło
Inną alternatywą jest użycie
yes
polecenia w skrypcie.Spowoduje to wysłanie
newpassword
dopasswd
polecenia dlayouruser
.Należy wspomnieć, że ustawianie / modyfikowanie haseł użytkowników za pomocą skryptów może stanowić zagrożenie bezpieczeństwa i należy tego unikać, gdy tylko jest to możliwe.
EDYTOWAĆ:
Ta odpowiedź wymaga dostępu do konta root. Przepraszamy za wcześniejsze wzmianki o tym. Jest to metoda, której używam podczas wykonywania zadań administracyjnych wymagających dostępu do konta root.
źródło
passwd
czyta się zstdin
terminala, a nie z terminala (klawiatury), jak to może działać, gdypasswd
najpierw monituje o stare hasło użytkownika, a następnie monituje o nowe?youruser
na końcu). Może gdzieś zadziała ...passwd
Polecenie z narzędzi cień Linuksa przyjmuje przekierowane dane wejściowe (w przeciwieństwie do np. OpenSSHssh
). Używanieyes
nie jest jednak dobrym pomysłem: ujawnia hasło szpiegom, którzy patrzą na listę procesów w niewłaściwym czasie. Użycieecho
nie miałoby tej wady, ponieważ jest to wbudowana powłoka.