【すーどぅー】

sudo(スードゥー) とは?

最終更新:
💡 許可されたコマンドを、別のユーザーとして実行

設定で許可されたコマンドを、rootや別のユーザーとして実行するコマンド。実行権限と認証の区別、シェルを起動する場合の注意、権限を確認する方法を解説します。

📌 このページのポイント
sudo:許可された別ユーザーで実行実行するコマンド内容と対象を指定実行先ユーザーrootや指定ユーザーポリシーで許可内容を確認必要な場合は認証。許可がなければ実行しない許可された対象ユーザーとして実行許可と安全性は別。シェル内で操作が続く場合も
コマンドと実行先を指定し、設定で許可された場合に実行します。sudoを付けるだけで誰でもrootになれるわけではありません。認証の要否や実行できる対象は設定によります。
ひよこ ひよこ
sudoを付けたら、管理者になれるの?
ペンギン先生 ペンギン先生
設定で許可されていれば、コマンドをrootなど別のユーザーとして実行できる。必要なら認証も行う。sudoという文字を付けるだけで、誰でも権限を得られるわけではないよ。
ひよこ ひよこ
root以外にもなれるの?
ペンギン先生 ペンギン先生
「sudo -u ユーザー名 コマンド」という形で、実行するユーザーを指定できる。例えばサービス専用のユーザーで動かす用途もある。ただし、その指定もポリシーで許可されている必要がある。
ひよこ ひよこ
使えるかどうかは、何で決まるの?
ペンギン先生 ペンギン先生
一般的なsudoersポリシーでは、ユーザーやグループ、コマンド、実行先ユーザーなどの設定で決まる。設定ファイルだけでなくLDAPを使う構成もある。「sudo -l」で許可内容を確認できる場合があるよ。
ひよこ ひよこ
パスワードを聞かれないこともあるけど、大丈夫?
ペンギン先生 ペンギン先生
認証情報を一時的に覚えている場合や、認証不要と設定されたコマンドなどがある。通常は実行した人の認証を行うが、設定によって異なる。毎回聞かれることや、一定の待ち時間を前提にしない。
ひよこ ひよこ
sudoなら、一つのコマンドだけなので安全?
ペンギン先生 ペンギン先生
誤操作の影響を防ぐ保証ではない。コマンドが複数の処理をしたり、管理者のシェルを起動してその中で操作が続いたりする。実行する内容と対象を確認し、必要な権限だけを許可することが大切だ。
もっと詳しく知りたい人へ

sudoersを変更するとき、普通のエディターでよい?

マニュアルはvisudoを使うよう案内しています。同時編集を防ぎ、構文を確認する機能があります。ただし、構文が正しくても広すぎる権限を許可する可能性はあります。管理者が設定の意味と影響を確認し、必要な範囲に制限します。

sudo -iは、普通の一回の実行と何が違う?

対象ユーザーのログインシェルを起動する方式です。コマンドを指定しなければ対話シェルが続き、その中の操作も対象ユーザーとして実行します。環境はログイン時に近い形になりますが、完全な再現とは断定しません。終わったらシェルを終了し、権限を使う時間も必要な範囲にします。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「sudo」って出てきたら「許可されたコマンドを、rootや別のユーザーとして実行する仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「sudo」 = 別のユーザーとしてコマンドを実行するコマンド
💬 rootとして実行する用途がよく知られていますが、マニュアルは「別のユーザーとして実行」と説明しています。このページでは、名前の略語や由来を一つに断定せず、現在の機能を中心に扱います。

参考資料

← 用語集にもどる