sudoers.pacnewを適用するぞ on Arch Linux
Arch Linuxはパッケージの更新をするときに、設定ファイルとかをxxx.conf.pacnewのような形で配置する。 例えば、mirrorlistとかsudoersとかってファイルが.pacnewになる。 これは勝手に上書きされないようにするための配慮だと思う。
んで、sudoersを更新するときにやらかしたので、一応メモしておく。
sudoersの更新
sudoのための設定ファイルであり、rootで管理されてて、visudo
を使って更新するのが安全なんだけど、.pacnewの適用方法を間違うと悲惨なことになる。
好きなeditorを使ってvisudoを起動し、差分を見ながら更新するのが良さそう。
$ sudo EDITOR=vim visudo # 差分をとる準備 :diffthis # 新しいWindowを開く(水平) :vnew # .pacnewファイルを開く :e /etc/sudoers.pacnew # 差分を見ながら必要なものを取り込む :diffthis
やらかした方法
mv
とかボケて使うと詰む。
所有者はrootなので当たり前。
$ sudo mv /etc/sudoers /etc/sudoers.20141001 # エラーを見て、できるわけがない事に気付き、sudoが使えないので何もできなくなる $ sudo mv /etc/sudoers.pacnew /etc/sudoers
やらかしたときの復旧方法
USBブートを行って、arch-chroot
でファイルを復旧する。
$ mount /dev/sda6 /mnt
$ arch-chroot /mnt
$ mv /etc/sudoers.20141001 /etc/sudoers
まとめ
頭が悪すぎて辛い。