sudo をやろうとして
XXX is not in the sudoers file
となってしまう時があった。
これはsudo group にユーザーXXXが追加されていないため。
どうやら何かのグループに追加する際にミスったようだ。
実は、usermodは今メンバーになっているグループ以外の別のグループに追加する場合は、今のメンバーになっているグループも同時に指定する必要がある。 言い換えると、追加したいグループを全部指定しないといけない。
自分の場合は、本来ならば
udo usermod -G staff,root,sudo,audio XXX
としないといけない。(上記ではrootも含めている。この辺りは各々のセキュリティ・ポリシーに応じて指定すれば良い。)
ネットで検索すると、sudoersファイルを編集する記事が多くヒットするが、少なくともDebianでは ユーザーをsudoグループに追加してあればsudoは使える。 つまり、そのようにsudoers が設定されている:
# Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL
sudoersは権限をより細かく設定できる。たとえば複数のユーザーで権限にランク分けしたい場合は、それぞれ設定できる。
だが通常はroot権限を使いたいので、sudo グループに登録するだけで良いケースがほとんどだろう。
なので、慣れないvisudoを使う必要はあんまり無いと思う。 Qiita で散見する「visudoでドキドキ編集」みたいな記事は微笑ましいが、目的からすると不必要なことをやっているので不正確な記事だ。 sudoersを良く読もうね。