shadow.serviceが起動に失敗していたので、修正した

1.エラーの内容

$ systemctl status shadow.service

● 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 Sun 2020-01-05 00:00:00 JST; 15h ago
TriggeredBy: ● shadow.timer
   Main PID: 3899 (code=exited, status=1/FAILURE)

Jan 05 00:00:00 a800 systemd[1]: Started Verify integrity of password and group files.
Jan 05 00:00:00 a800 sh[3900]: user 'git': program '/usr/bin/git-shell' does not exist
Jan 05 00:00:00 a800 sh[3900]: pwck: no changes
Jan 05 00:00:00 a800 systemd[1]: shadow.service: Main process exited, code=exited, status=1/FAILURE
Jan 05 00:00:00 a800 systemd[1]: shadow.service: Failed with result 'exit-code'.

エラーの内容は、gitというユーザーが/usr/bin/git-shellを使おうとしているけど、そんなコマンドは見当たらないといったものであろう。

gitというユーザーを作った覚えがないが、システムが必要として自動的に作ったのであろう。

$  cat /etc/passwd | grep git

git:x:977:977:git daemon user:/:/usr/bin/git-shell

2.git パッケージのインストール

git-shell なんていうパッケージはなく、調べていくうちに、git  というパッケージの中に含まれているということがわかった。

git 2.24.1-4 File List

Package has 664 files and 104 directories.

Back to Package

usr/
usr/bin/
usr/bin/git
usr/bin/git-cvsserver
usr/bin/git-receive-pack
usr/bin/git-shell
usr/bin/git-upload-archive
usr/bin/git-upload-pack

---------以下略

それではこれをインストール。

$ sudo pacman -S git

resolving dependencies...
looking for conflicting packages...

Packages (4) perl-error-0.17028-1  perl-mailtools-2.21-2  perl-timedate-2.30-6  git-2.24.1-4

Total Download Size:    5.99 MiB
Total Installed Size:  36.77 MiB

:: Proceed with installation? [Y/n] y
:: Retrieving packages...
 git-2.24.1-4-x86_64                           6.0 MiB  17.9 MiB/s 00:00 [########################################] 100%
(4/4) checking keys in keyring                                           [########################################] 100%
(4/4) checking package integrity                                         [########################################] 100%
(4/4) loading package files                                              [########################################] 100%
(4/4) checking for file conflicts                                        [########################################] 100%
(4/4) checking available disk space                                      [########################################] 100%
:: Processing package changes...
(1/4) installing perl-error                                              [########################################] 100%
(2/4) installing perl-timedate                                           [########################################] 100%
(3/4) installing perl-mailtools                                          [########################################] 100%
(4/4) installing git                                                     [########################################] 100%
Optional dependencies for git
    tk: gitk and git gui
    perl-libwww: git svn
    perl-term-readkey: git svn and interactive.singlekey setting
    perl-mime-tools: git send-email
    perl-net-smtp-ssl: git send-email TLS support
    perl-authen-sasl: git send-email TLS support
    perl-mediawiki-api: git mediawiki support
    perl-datetime-format-iso8601: git mediawiki support
    perl-lwp-protocol-https: git mediawiki https support
    perl-cgi: gitweb (web interface) support
    python: git svn [installed]
    subversion: git svn
    org.freedesktop.secrets: keyring credential helper
    libsecret: libsecret credential helper [installed]
:: Running post-transaction hooks...
(1/4) Creating system user accounts...
(2/4) Reloading system manager configuration...
(3/4) Arming ConditionNeedsUpdate...
(4/4) Warn about old perl modules

どれどれちゃんとインストールされてか?確認

$  ls -al /usr/bin/git-shell

-rwxr-xr-x 1 root root 1752528 Dec 30 04:37 /usr/bin/git-shell

サービスを再起動してエラーがないか確認

$ sudo systemctl start shadow.service

$ systemctl status shadow.service

● shadow.service - Verify integrity of password and group files
     Loaded: loaded (/usr/lib/systemd/system/shadow.service; static; vendor preset: disabled)
     Active: inactive (dead) since Sun 2020-01-05 15:41:43 JST; 4s ago
TriggeredBy: ● shadow.timer
    Process: 8047 ExecStart=/bin/sh -c /usr/bin/pwck -r || r=1; /usr/bin/grpck -r && exit $r (code=exited, status=0/SUC>
   Main PID: 8047 (code=exited, status=0/SUCCESS)

Jan 05 15:41:43 a800 systemd[1]: Started Verify integrity of password and group files.
Jan 05 15:41:43 a800 systemd[1]: shadow.service: Succeeded.

今度は大丈夫みたい

3.shadow.service って?

そもそもshadow.serviceってなに?

ユーザー・グループ・パスワード管理ツールで、

shadow.service は pwck(8) と grpck(8) を実行してパスワードファイルとグループファイルの両方の整合性を検証します。

不整合が報告された場合、グループは vigr(8) コマンドで、ユーザは vipw(8) コマンドで編集できます。これは、これらのコマンドがデータベースが編集されないようロックするという観点で、追加の保護を提供します。

https://wiki.archlinux.jp/index.php/%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%81%A8%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97#.E8.87.AA.E5.8B.95.E6.95.B4.E5.90.88.E6.80.A7.E3.83.81.E3.82.A7.E3.83.83.E3.82.AF

そうか、大変重要なサービスなのだ!

コメント

タイトルとURLをコピーしました