ある日、突然sudoが使えなくなっていた。
sudoのエラー
ある日ログインしたら、sudoがエラーを表示して実行できなくなっていた。
sudo: gid=4294967295: invalid value sudo: ポリシープラグインを初期化できません
GIDを変更した記憶はなし。
ユーザ設定
idコマンド
idコマンドで確認すると、なぜかグループIDが4294967295に設定されている。
uid=1001(taro) gid=4294967295 groups=0(wheel),1001(family)
/etc/passwd
/etc/passwdの内容を確認すると、グループIDは1001に設定されている。
taro:*:1001:1001:User &:/home/taro:/usr/local/bin/bash
/etc/master.passwd
/etc/master.passwdの内容を確認すると、グループIDは1001に設定されている。
taro:$6$RVcWkny3spIAupnb$SnspgfYWQ74nazBBj0HotIV8NcgTnzA60mxNsSw7andvJrOvnY1FkJ/EPumwVn9Ral93toPGc54FYOOu6yDsE0:1001:1001::0:0:User &:/home/taro:/usr/local/bin/bash
pwコマンド
pwコマンドでユーザ名を指定して確認すると、なぜかグループIDが4294967295になっている。
# pw usershow taro taro:$6$RVcWkny3spIAupnb$SnspgfYWQ74nazBBj0HotIV8NcgTnzA60mxNsSw7andvJrOvnY1FkJ/EPumwVn9Ral93toPGc54FYOOu6yDsE0:1001:4294967295::0:0:User &:/home/taro:/usr/local/bin/bash
pwコマンドでユーザ情報すべてを表示してユーザ名でgrepすると、なぜか定義が2行存在する。
pw usershow -a | grep taro taro:$6$RVcWkny3spIAupnb$SnspgfYWQ74nazBBj0HotIV8NcgTnzA60mxNsSw7andvJrOvnY1FkJ/EPumwVn9Ral93toPGc54FYOOu6yDsE0:1001:4294967295::0:0:User &:/home/taro:/usr/local/bin/bash taro:$6$RVcWkny3spIAupnb$SnspgfYWQ74nazBBj0HotIV8NcgTnzA60mxNsSw7andvJrOvnY1FkJ/EPumwVn9Ral93toPGc54FYOOu6yDsE0:1001:1001::0:0:User &:/home/taro:/usr/local/bin/bash
試したこと
pwコマンド [失敗]
pwコマンドを使ってグループIDの変更を試みるも、エラーが出て失敗。
pw usermod taro -g family pw: entry inconsistent pw: pw_copy(): 無効な引数です
別のユーザ名を指定すれば普通にコマンドが通るので、引数指定ミスなどではない、はず。
pwd_mkdbコマンド
pwd_mkdbコマンドを使って、パスワードファイル群の整合性を図る。
pwd_mkdb /etc/master.passwd
上記コマンド実行後にログインし直してidコマンドを実行したところ、グループIDは正しく1001に設定され、sudoコマンドを使えるようになっていた。ただし、グループ群の指定でfamilyが重複している。
> id uid=1001(dtaro) gid=1001(family) groups=1001(family),0(wheel),1001(family)
/etc/group
/etc/group内のfamilyの設定を確認すると、ユーザ名が定義されている。
family:*:1001:taro,jiro
/etc/groupをエディタで開き、familyの定義からユーザ名の部分を削除する。
family:*:1001:
ログインし直してからidコマンドで確認すると、やっと正常にもどった。