sudo
設定ファイルが root の持ち物で、一般ユーザーでは書き換えられないと分かったあと
sudo(スードゥー)は、許可された一般ユーザーが、コマンドの頭につけて、そのコマンドだけを管理者(root)として実行するしくみです。
- root は、サーバーで何でもできる管理者のユーザー
- sudo は、許可された一般ユーザーが、コマンドの頭につけて、そのコマンドだけを管理者(root)として実行するしくみ
- sudo で聞かれるのは、ふつう自分のパスワード
- 何でもかんでも sudo、ずっと root で作業、はしない
身近な例えで理解する
職場の備品倉庫の鍵は総務が管理していて、名簿にのっている人だけが借りられます。借りるときは貸出簿に名前と時間を書き、用が済んだらすぐ返します。
- 備品倉庫root でないと触れない設定ファイルなど
- 鍵を借りられる人の名簿sudo を使ってよい人の設定(sudoers)
- 貸出簿に名前と時間を書くsudo を使った記録が残る
- 用が済んだらすぐ返すsudo はそのコマンド1つだけに効く
名簿にない人は鍵を借りられません。sudo も、許可されていないユーザーが使うと断られます。
ちょっと確認
この作業のしかたの問題は何ですか?
例えを外して、実際のしくみ
root と一般ユーザー
sudo のしくみ
sudo をコマンドの頭につけると、そのコマンドだけが root として動きます(例:sudo vi /etc/example.conf。vi はファイルを編集するコマンドです)。誰が・どのコマンドを使ってよいかは、/etc/sudoers などの設定(sudoers)で決まっています。許可されていない人が使うと断られ、その試みも記録されます
user2@vm:~$ sudo cat /etc/sampleapp/app.conf
[sudo] password for user2:
user2 is not in the sudoers file.パスワードは打っても画面に出ません。user2 は sudoers にのっていないので、正しいパスワードを打っても断られました。
聞かれるのは自分のパスワード
このページのまとめ
- root
- サーバーで何でもできる管理者のユーザー
- sudo
- 許可されたユーザーが、そのコマンドだけを root として実行するしくみ
- sudoers
- sudo を誰が・何に使ってよいかを決める設定
- sudo で聞かれるパスワード
- ふつうは自分のパスワード。しばらくは聞き直されません(聞かれない設定のこともあります)
先輩のひとことの意味
先輩「そのファイルはrootのものだから、頭に sudo をつけて編集して。でも、何でもかんでも sudo はだめだよ」
「その設定ファイルは root しか書き換えられないから、編集するコマンドにだけ sudo をつけて、管理者として実行して。でも、Permission denied が出るたびに考えずに sudo をつけるのはやめてね。本当に管理者の権限が必要な操作かを考えてから使って」という意味です。
練習問題で確かめる
root の持ち物の設定ファイルを書き換えようとして、Permission denied と出ました。よい対応はどれですか?
参考資料
ご意見・「これで例えて!」を募集しています
ご意見・ご感想・質問・間違いのご指摘など、何でもお気軽にお寄せください。「この言葉も例えで説明してほしい」「こんな例えなら分かりやすい」という声をもとに、新しいページや例えを作ります。
- 説明してほしいITの言葉
- 例えてほしい場面(部活・アルバイト・家事など)
- 分かりにくかったところ・間違いのご指摘
意見箱は準備中です。