Mam następujący problem.
Piszę właśnie skrypt do masowego zarządzania kontami użytkowników na serwerze unixowym - takie małe narzędzie dla administratorów. Jedną z funkcji ma być masowe zmienianie haseł i właśnie to sprawia mi spory problem.
Mianowicie: każdy wie, że mamy w unixie takie coś jak passwd, ale to odpada od razu bo to jest wizard, gdzie użytkownik musi wprowadzić stare i nowe hasło z klawiatury w odpowiedzi na zadawane przez program pytania. Do skryptu się zatem zupełnie nie nadaje. Dotarłem więc do innego polecenia - chpass, które zgodnie z manualem powinno rozwiązać problem - przyjmuje parę user:password ze standardowego wejścia i ustawia danemu użytkownikowi dane hasło. Tylko że za diabła nie mogę z tym poleceniem dojść do ładu.
Wpisuję w konsoli
echo 'user:haslo' | sudo chpasswd
lub
sudo chpasswd < chpass_tmp
gdzie chpass_tmp to plik tekstowy formatu user:hasło
i w obu przypadkach dostaję po dobrych kilku sekundach oczekiwania, komunikat następującej treści:
chpasswd: nie mogę zablokować pliku z hasłami
Identycznie to wygląda, gdy zamiast przez sudo, wywołam to przechodząc wcześniej na konto root'a przez su.
Wie ktoś jak to wywołać zeby zrobiło swoje i przestało narzekać? :)
Pozdrawiam.