sudoers設定の基本!visudoを使った安全な設定方法を解説

Linux

Linuxサーバーの管理において、特定のユーザーに限定的な管理者権限を与えるために不可欠なのが sudo コマンドです。そして、その sudo コマンドの権限設定を司るのが sudoers ファイルです。この記事では、「visudo、sudoersについて」詳しく解説し、初心者の方でも安全かつ確実に sudoers の設定を行うための手順をステップバイステップでご紹介します。「sudoersの設定はどうすればいいか」悩んでいる方は、ぜひこの記事を参考にしてください。

sudo と sudoers とは?

まず、sudo コマンドは、一般ユーザーが管理者(rootユーザー)の権限を一時的に借りてコマンドを実行するために使用されます。これにより、日常的な作業は権限の低いユーザーで行い、必要な時だけ管理者権限を利用することで、セキュリティリスクを低減できます。

そして、誰がどのようなコマンドを sudo で実行できるかを定義した設定ファイルが sudoers です。「sudoersの設定」を適切に行うことで、システムへのアクセス権限を細かく制御することが可能になります。

なぜ visudo を使うべきなのか?

sudoers ファイルは非常に重要なファイルであり、誤った編集を行うとシステムが正常に動作しなくなる可能性があります。そのため、sudoers ファイルを直接テキストエディタで編集することは推奨されていません。

代わりに必ず使用すべきコマンドが visudo です。visudo は、sudoers ファイルを安全に編集するための専用コマンドであり、以下の利点があります。

  • 排他制御: 複数のユーザーが同時に sudoers ファイルを編集することを防ぎます。
  • 構文チェック: 保存前に sudoers ファイルの構文を自動的にチェックし、エラーがあれば警告を表示します。これにより、誤った設定によるシステム障害のリスクを大幅に減らすことができます。

したがって、「sudoersの設定」を行う際は、必ず sudo visudo コマンドを使用しましょう。

sudoers の基本的な書き方

sudoers ファイルの基本的な構文は以下の通りです。

ユーザー ホスト=(実行ユーザー) コマンド
  • ユーザー: sudo の実行を許可するユーザー名またはグループ名(グループの場合は % を先頭に付けます)。
  • ホスト: sudo の実行を許可するホスト名(通常は ALL を指定します)。
  • (実行ユーザー): コマンドを実行する際のユーザーを指定します(通常は root を指定します)。
  • コマンド: 実行を許可するコマンドのパス(ALL を指定すると全てのコマンドを許可します)。

よくある sudoers の設定例

ここでは、sudoers の一般的な設定例をいくつかご紹介します。

特定のユーザーに全てのコマンドをパスワードなしで許可する

username ALL=(ALL) NOPASSWD: ALL
  • username というユーザーに、全てのホストで、全てのコマンドを、パスワードなしで sudo 実行することを許可します。

特定のユーザーに特定のコマンドのみをroot権限で許可する

username ALL=(root) /sbin/reboot, /sbin/shutdown
  • username というユーザーに、全てのホストで、root 権限で /sbin/reboot/sbin/shutdown コマンドのみを実行することを許可します。

特定のグループに特定のコマンドをパスワード付きで許可する

%groupname ALL=(root) /usr/bin/apt-get update, /usr/bin/apt-get upgrade
  • groupname というグループに所属するユーザーに、全てのホストで、root 権限で /usr/bin/apt-get update/usr/bin/apt-get upgrade コマンドを実行することを許可します(パスワードが求められます)。

特定のコマンドのみパスワードなしで許可する

username ALL=(root) NOPASSWD: /usr/bin/systemctl restart httpd
  • username というユーザーに、全てのホストで、root 権限で /usr/bin/systemctl restart httpd コマンドのみをパスワードなしで実行することを許可します。

sudoers の設定手順

それでは、実際に sudoers ファイルを設定する手順を見ていきましょう。

1. visudo コマンドを実行する

まず、ターミナルを開き、管理者権限を持つユーザーで以下のコマンドを実行します。

sudo visudo

これにより、sudoers ファイルがテキストエディタ(通常は vi または nano)で開きます。

2. 設定を記述する

ファイルが開いたら、適切な場所に設定を記述します。一般的には、# User privilege specification というセクションの下に追加することが推奨されます。

上記の「よくある sudoers の設定例」を参考に、あなたの要件に合った設定を記述してください。

3. ファイルを保存して閉じる

設定を記述したら、エディタの指示に従ってファイルを保存し、閉じます。

  • vi の場合: Esc キーを押した後、:wq と入力して Enter キーを押します。
  • nano の場合: Ctrl + O を押して保存し、Ctrl + X を押して閉じます。

visudo は、保存時に構文チェックを行い、エラーがあればその旨を通知してくれます。エラーが表示された場合は、設定を見直して修正してください。

sudoers 設定時の注意点

  • visudo を必ず使用する: 直接テキストエディタで編集しないでください。
  • 慎重に権限を付与する: 必要最小限の権限のみを与えるように心がけましょう。
  • 設定内容を理解する: 各設定の意味を十分に理解した上で記述しましょう。
  • 定期的に見直す: sudoers の設定は定期的に見直し、不要な権限がないか確認しましょう。

まとめ

この記事では、「visudo、sudoersについて」、そして「sudoersの設定はどうすればいいか」について解説しました。sudoers を適切に設定することで、Linuxサーバーのセキュリティを向上させ、効率的な運用が可能になります。必ず visudo コマンドを使用し、慎重に設定を行うようにしてください。

最後に: 最後まで読んでいただきありがとうございました。この記事が、あなたの sudoers 設定の一助となれば幸いです。

コメント

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