Linuxユーザー管理の基本:sudoとvisudoでセキュリティを強化する方法

Linuxのユーザー管理とsudo、visudoの正しい使い方を解説。権限設定の基本からセキュリティ強化の実践的な方法まで、初心者にもわかりやすく説明します。

Linuxユーザー管理sudovisudo権限セキュリティ2026/5/25

Linuxのユーザー管理とsudo/visudoの重要性

LinuxはマルチユーザーOSであり、適切なユーザー管理はシステムセキュリティの基盤です。特にsudovisudoは、特権昇格を制御するための強力なツールです。本記事では、ユーザー管理の基本から、sudo設定のベストプラクティスまでを解説します。

ユーザー管理の基本

Linuxでは、ユーザーは/etc/passwdに、パスワードは/etc/shadowに、グループは/etc/groupに管理されます。ユーザーを作成するにはuseradd、削除にはuserdel、変更にはusermodを使用します。

#### ユーザーの作成例

sudo useradd -m -s /bin/bash newuser
sudo passwd newuser
-mでホームディレクトリ作成、-sでログインシェルを指定します。

sudoの役割と設定

sudoは、許可されたユーザーがroot権限でコマンドを実行できるようにする仕組みです。設定ファイルは/etc/sudoersで、編集には必ずvisudoコマンドを使用します。visudoは構文チェックを行うため、誤った設定によるシステムロックを防げます。

#### visudoの基本

sudo visudo
これで/etc/sudoersを安全に編集できます。

sudoersファイルの設定例

#### 特定のユーザーに全権限を与える

username ALL=(ALL:ALL) ALL
この場合、ユーザーは全てのコマンドを実行可能ですが、セキュリティ上は避けるべきです。

#### 特定のコマンドのみ許可

username ALL=(ALL) /usr/bin/apt, /usr/bin/systemctl
これにより、aptsystemctlだけが実行可能になります。

#### パスワードなしでsudoを許可

username ALL=(ALL) NOPASSWD: ALL
利便性は高いですが、セキュリティリスクが増大するため、特定のスクリプトや自動化タスクに限定すべきです。

グループ管理とsudo

/etc/sudoersでグループ指定が可能です。例えば、sudoグループに属するユーザー全員にsudo権限を与えるには:

%sudo ALL=(ALL:ALL) ALL
多くのディストリビューションではデフォルトで設定されています。

セキュリティを高めるベストプラクティス

  • 最小権限の原則: 必要最小限のコマンドのみ許可する。
  • sudoログの監視: ログは/var/log/auth.logに記録される。定期的に確認する。
  • パスワードポリシー: 強力なパスワードを強制し、passwdコマンドで変更を促す。
  • 不要なユーザーの削除: 使用していないアカウントは削除またはロックする。
  • SSH鍵認証の併用: パスワード認証を無効にし、SSH鍵とsudoを組み合わせる。
  • まとめ

    Linuxのユーザー管理とsudo設定は、システムの安全性を左右します。visudoを使って慎重に設定し、常に最小権限を意識しましょう。適切な管理により、不正アクセスや誤操作からシステムを守ることができます。


    *この記事はArch Linux/btrfs/LUKs環境で実際に検証した内容を基にしています。セキュリティ設定は環境によって異なるため、本番環境への適用前に必ずテスト環境で検証してください。*

    参考

  • Ubuntu公式ドキュメント - sudo
  • Red Hat Enterprise Linux 8 - ユーザー管理