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 というパッケージの中に含まれているということがわかった。
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
そうか、大変重要なサービスなのだ!
コメント