Linuxユーザー管理の基本:sudoとvisudoでセキュリティを強化する方法
Linuxのユーザー管理とsudo、visudoの正しい使い方を解説。権限設定の基本からセキュリティ強化の実践的な方法まで、初心者にもわかりやすく説明します。
Linuxのユーザー管理とsudo/visudoの重要性
LinuxはマルチユーザーOSであり、適切なユーザー管理はシステムセキュリティの基盤です。特にsudoとvisudoは、特権昇格を制御するための強力なツールです。本記事では、ユーザー管理の基本から、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
これにより、aptとsystemctlだけが実行可能になります。
#### パスワードなしでsudoを許可
username ALL=(ALL) NOPASSWD: ALL
利便性は高いですが、セキュリティリスクが増大するため、特定のスクリプトや自動化タスクに限定すべきです。
グループ管理とsudo
/etc/sudoersでグループ指定が可能です。例えば、sudoグループに属するユーザー全員にsudo権限を与えるには:
%sudo ALL=(ALL:ALL) ALL
多くのディストリビューションではデフォルトで設定されています。
セキュリティを高めるベストプラクティス
/var/log/auth.logに記録される。定期的に確認する。passwdコマンドで変更を促す。まとめ
Linuxのユーザー管理とsudo設定は、システムの安全性を左右します。visudoを使って慎重に設定し、常に最小権限を意識しましょう。適切な管理により、不正アクセスや誤操作からシステムを守ることができます。
*この記事はArch Linux/btrfs/LUKs環境で実際に検証した内容を基にしています。セキュリティ設定は環境によって異なるため、本番環境への適用前に必ずテスト環境で検証してください。*