Linuxサーバーで管理者権限が必要な作業をする際、sudoとsuという2種類のコマンドと時々遭遇しますよね。
この記事では、両者の違いと使い分けを簡単に解説します。
詳細まで知りたかったら、ChatGPT is your friend. です。
基本的な違い
sudo: 特定のコマンドだけを管理者権限で実行
sudo apt update
su: ユーザーを切り替える(通常はrootユーザーへ)
su -
sudoの特徴
- コマンド単位で権限を付与
- 実行したユーザーとコマンドがログに記録される
- rootパスワードではなく、自分のパスワードで認証
- 一度認証すると一定時間(通常15分)は再入力不要
suの特徴
- ユーザー全体を切り替える
- rootのパスワードが必要
- シェルがrootになるため、その後のコマンドはすべてroot権限で実行される
exitするまでrootのまま
どちらを使うべきか
推奨: sudoを使う
現代のLinux環境ではsudoの使用が推奨されています。
- 誰が何を実行したか記録に残る(セキュリティ・監査的に重要)
- rootパスワードを共有する必要がない
- 必要最小限の権限で作業できる
- うっかり危険なコマンドを実行するリスクが減る
suを使うケース
複数の管理コマンドを連続で実行する場合など、限定的な場面ではsuも有用です。
su -
apt update
apt upgrade
systemctl restart nginx
exit
一人で個人環境のサーバー作業をするときは、su よく使いますけどね。


コメント