sudo(superuser do)は、通常ユーザーのまま、必要なコマンドのときだけ管理者(root)権限で実行するための仕組みです。Linux サーバー運用では、root で入りっぱなしにせず「一般ユーザー+sudo」で管理するのが標準的な形です。
まず押さえたいポイント
- 権限を上げるのはコマンド単位・一時的(root にログインし続けるわけではない)
- 誰が何を実行したかがログに残る——共有の root では追跡できない
- 誰にどこまで許すかは
/etc/sudoers(編集はvisudo)で制御する - 使うのは自分のパスワードであって、root のパスワードではない
近い用語との違い
SSH は「サーバーに入る」仕組み、sudo は「入った後に権限を上げる」仕組みで、層が違います。また root との違いが本質で、root は常時全権、sudo は必要な瞬間だけ全権です。これは最小権限の原則の実践であり、事故(誤操作)と侵害(乗っ取り時の被害範囲)の両方を小さくします。
押さえておきたい注意点
「とりあえず sudo を付ける」癖は危険です。権限が上がった状態での rm やリダイレクトは、システムを壊すところまで到達します。また全ユーザーに無条件の sudo を配ると、root を共有しているのと実質的に変わらなくなり、導入した意味が失われます。
実務で見るポイント
確認したいのは①sudo を持つユーザーが必要最小限か ②共用アカウントを使っていないか(誰の操作か特定できるか) ③パスワード無し実行(NOPASSWD)を安易に許していないか ④sudo のログを見られる状態かです。あわせて root の直接ログインは禁止し、Linuxサーバー初期設定チェックリスト の内容と組み合わせて設計します。