shadow.service: Failed

Od pewnego czasu zaczęła wywalać się mi usługa: shadow.service odpowiedzialna za sprawdzanie poprawności plików /etc/group oraz /etc/passwd. To sprawdzenie ma na celu weryfikację czy nie ma zdublowanych rekordów, uid, gid, czy istnieją katalogi domowe.

 

Listę usług, których nie wystartowały się poprawnie wyświetlimy tak:

systemctl --failed

 

Więcej informacji wyciągniemy sprawdzając status:

systemctl status shadow.service

 

Dla tej konkretnej usługi błąd był następujący:

● shadow.service – Verify integrity of password and group files
   Loaded: loaded (/usr/lib/systemd/system/shadow.service; static; vendor preset: disabled)
   Active: failed (Result: exit-code) since sob 2016-09-17 11:02:24 CEST; 23min ago
  Process: 467 ExecStart=/usr/bin/pwck -r (code=exited, status=2)
 Main PID: 467 (code=exited, status=2)

systemd[1]: Starting Verify integrity of password and group files…
pwck[467]: user ‚mysql’: directory ‚/var/lib/mysql’ does not exist
pwck[467]: pwck: bez zmian
systemd[1]: shadow.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
systemd[1]: Failed to start Verify integrity of password and group files.
systemd[1]: shadow.service: Unit entered failed state.
systemd[1]: shadow.service: Failed with result ‚exit-code’.

 

Można jeszcze uruchomić programy do weryfikacji plików password oraz group. Ten ostatni powinien wyświetlić podobny komunikat jak wyżej.

sudo grpck

sudo pwck

 

W tym przypadku problemem jest brak katalogu domowego: /var/lib/mysql dla użytkownika mysql. Co prawda nie używam mysqla ani mariadb, ale jeden z pakietów, a konkretnie libmariadbclient (wymagany przez KODI) utworzył użytkownika bez katalogu domowego. Nadmienię, że mysql czy tez mariadb ręcznie się konfiguruje tuż po instalacji.

grep mysql /etc/passwd
mysql:x:89:89:MariaDB:/var/lib/mysql:/sbin/nologin

 

Tak czy owak utworzenie katalogu naprawiło niestartująca usługę lecz każdy przypadek trzeba rozpatrzyć osobno. Zdarza się (przynajmniej w Archu), że po odinstalowaniu pakietu zostaje konto, które zostało wcześniej stworzone na potrzebę działania programu. Konto takie można usunąć, ale po upewnieniu się, że żaden pakiet z niego nie korzysta i wszystkie pliki/katalogi, których właścicielem jest konto zostały usunięte.

 

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.