【すーどぅー】
sudo(スードゥー) とは?
最終更新:
💡 許可されたコマンドを、別のユーザーとして実行
設定で許可されたコマンドを、rootや別のユーザーとして実行するコマンド。実行権限と認証の区別、シェルを起動する場合の注意、権限を確認する方法を解説します。
📌 このページのポイント
- rootだけでなく、指定したユーザーとして実行できる
- 何を誰として実行できるかは、セキュリティポリシーで決まる
- パスワードの要否や再認証の間隔は設定による
- 許可されても、実行内容が安全である保証はない
sudoを付けたら、管理者になれるの?
設定で許可されていれば、コマンドをrootなど別のユーザーとして実行できる。必要なら認証も行う。sudoという文字を付けるだけで、誰でも権限を得られるわけではないよ。
root以外にもなれるの?
「sudo -u ユーザー名 コマンド」という形で、実行するユーザーを指定できる。例えばサービス専用のユーザーで動かす用途もある。ただし、その指定もポリシーで許可されている必要がある。
使えるかどうかは、何で決まるの?
一般的なsudoersポリシーでは、ユーザーやグループ、コマンド、実行先ユーザーなどの設定で決まる。設定ファイルだけでなくLDAPを使う構成もある。「sudo -l」で許可内容を確認できる場合があるよ。
パスワードを聞かれないこともあるけど、大丈夫?
認証情報を一時的に覚えている場合や、認証不要と設定されたコマンドなどがある。通常は実行した人の認証を行うが、設定によって異なる。毎回聞かれることや、一定の待ち時間を前提にしない。
sudoなら、一つのコマンドだけなので安全?
誤操作の影響を防ぐ保証ではない。コマンドが複数の処理をしたり、管理者のシェルを起動してその中で操作が続いたりする。実行する内容と対象を確認し、必要な権限だけを許可することが大切だ。
もっと詳しく知りたい人へ
sudoersを変更するとき、普通のエディターでよい?
マニュアルはvisudoを使うよう案内しています。同時編集を防ぎ、構文を確認する機能があります。ただし、構文が正しくても広すぎる権限を許可する可能性はあります。管理者が設定の意味と影響を確認し、必要な範囲に制限します。
sudo -iは、普通の一回の実行と何が違う?
対象ユーザーのログインシェルを起動する方式です。コマンドを指定しなければ対話シェルが続き、その中の操作も対象ユーザーとして実行します。環境はログイン時に近い形になりますが、完全な再現とは断定しません。終わったらシェルを終了し、権限を使う時間も必要な範囲にします。
まとめ:ざっくりこれだけ覚えればOK!
「sudo」って出てきたら「許可されたコマンドを、rootや別のユーザーとして実行する仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「sudo」 = 別のユーザーとしてコマンドを実行するコマンド
💬 rootとして実行する用途がよく知られていますが、マニュアルは「別のユーザーとして実行」と説明しています。このページでは、名前の略語や由来を一つに断定せず、現在の機能を中心に扱います。