【すーどぅー】

sudo(スードゥー) とは?

💡 「ちょっとだけ管理者の力を借りる」ための魔法の呪文
📌 このページのポイント
sudo ― 一時的に管理者権限で実行 一般ユーザー 制限された権限 sudo 権限昇格 root権限 すべての操作が可能 コマンド例 $ apt install nginx → Permission denied $ sudo apt install nginx → インストール成功 ✓ 注意: sudoは強力なため慎重に使う 誤った操作でシステムを破壊する可能性がある
sudoのイメージ
ひよこ ひよこ

sudoって何?

ペンギン先生 ペンギン先生

LinuxMacで、一般ユーザーのまま一時的に管理者権限でコマンドを実行するしくみだよ。たとえば「sudo apt install nginx」と打つと、管理者権限でnginxをインストールできるんだ。

ひよこ ひよこ

rootで直接ログインするのと何が違うの?

ペンギン先生 ペンギン先生

rootで常にログインしていると、すべてのコマンドが最高権限で動くから操作ミスのダメージが大きい。sudoなら「この1コマンドだけ」管理者権限を使うから、ミスの影響範囲を最小限にできるんだ。

ひよこ ひよこ

sudoを使えるかどうかは誰が決めるの?

ペンギン先生 ペンギン先生

/etc/sudoersっていう設定ファイルで管理されてるよ。このファイルに書かれたユーザーだけがsudoを使える。ちなみにこのファイルは「visudo」という専用コマンドで編集するのがルールで、直接編集すると文法ミスでsudo自体が使えなくなる危険があるんだ。

ひよこ ひよこ

パスワードを毎回聞かれるのはなぜ?

ペンギン先生 ペンギン先生

本人確認のためだよ。席を離れた隙に誰かがコマンドを打っても、パスワードを知らなければ管理者権限は使えない。ただし一度入力すると数分間は再入力不要になるよ。

ひよこ ひよこ

「sudo su」と「sudo -i」って何が違うの?

ペンギン先生 ペンギン先生

どっちもrootになるコマンドなんだけど、環境変数の引き継ぎ方が違うんだ。「sudo su」は現在のユーザーの環境変数を一部引き継いで、「sudo -i」はrootのログイン環境を完全に再現する。ほんの小さな違いに見えるけど、PATHやHOMEの値が変わるから、スクリプトの挙動が変わったりしてトラブルの原因になる。sudoの動作は実はかなり複雑で、オプションごとの微妙な違いをちゃんと把握してる人は少ないよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「sudo」って出てきたら「一時的に管理者権限でコマンドを実行するしくみ」と思えればだいたいOK!
📖 おまけ:英語の意味
「superuser do」 = スーパーユーザーとして実行する
💬 もともとは「substitute user do(別のユーザーとして実行する)」という意味もあったんだ
← 用語集にもどる