rootとsudoの考え方 - なぜrootで作業しないのか
sudo を付けろと言われたけど、root って結局なに?
ネットの手順をなぞっていると、sudo apt update のように先頭に sudo が付いたコマンドをよく見かける。「とりあえず付けておけば動く呪文」くらいの認識で使っていないだろうか。さらに調べると「root で作業するな」「最小権限で」といった注意書きにぶつかって、余計に混乱する。
root は Linux で 何でもできる最強の管理者アカウント、sudo は その権限を1コマンドだけ一時的に借りる仕組みだ。この記事では、なぜ普段は root を使わず sudo を使うのかを、ライナとライニー先輩の会話で直感的に整理していく。読み終わるころには、sudo を「呪文」ではなく「意味の分かる安全装置」として使えるようになる。
この記事でわかること
root(スーパーユーザー)が「何でもできる」特別なアカウントであること- なぜ root で作業し続けると危険なのか
sudoが「1コマンドだけ権限を借りる」仕組みであることsuとsudoの違いsudo commandという基本の使い方- 「最小権限の原則」という考え方
1. そもそも root とは何か?
結論: root は Linux で唯一すべての操作が許された特別な管理者アカウント。権限チェックを一切受けず、システムのどんなファイルでも読み書き・削除できる。
sudo ってよく見るんですけど、そもそも root って何ですか?root(ルート)は、Linux の中で「何でもできる」一番えらいアカウントだよ。日本語だと「スーパーユーザー」とか「管理者」と呼ばれる。root = 権限チェックを免除された特別アカウント
- ユーザー名は
root、ユーザー ID(UID)は0 - ファイルのパーミッション(
rwx)に関係なく、すべて読み書き・削除できる - システム全体に影響する操作(パッケージ導入・サービス再起動・ユーザー追加など)ができる
「強い」のではなく「制限が外れている」と捉えるのが正確だ。パーミッションそのものについては パーミッションの考え方 を参照。
2. なぜ root で作業し続けると危険なのか?
結論: root は権限チェックが効かないため、打ち間違い1つでシステム全体を壊せる。ミスやマルウェアの被害が「全領域」に及ぶのが危険の本質。
root での操作はミスが致命傷になる
権限チェックという安全装置が外れているため、root では次のような事故が起きやすい。
- 削除コマンドの打ち間違いで、消すつもりのなかったシステムファイルまで削除
- 設定ファイルを誤って上書きし、起動できなくなる
- 悪意あるスクリプトを root で実行し、システム全体を改変される
普段の作業は必ず一般ユーザーで行い、管理者権限が要る瞬間だけ借りる。これが被害範囲を最小に抑えるコツ。
3. sudo は何をするコマンドなのか?
結論: sudo は「この1コマンドだけ root の権限で実行する」ための仕組み。普段は一般ユーザーのまま、必要なときだけ一時的に権限を借りられる。
sudo(スードゥ / sudo)の出番。sudo は "superuser do" の略で、「この1回だけ管理者として実行して」とお願いするコマンドなんだ。sudo apt update と打つと、その apt update というコマンドだけが root の権限で動く。終わればすぐ普段の一般ユーザーに戻る。ずっと root でいるわけじゃない。sudo = 権限を「1コマンドだけ」借りる仕組み
sudoを付けたコマンドだけが root 権限で実行される- 実行後はすぐ元の一般ユーザーに戻る(root に居続けない)
- 初回などはログイン中ユーザー自身のパスワードを聞かれる(root のパスワードではない)
- 誰がいつ何を実行したかがログに残る
「ずっと管理者」ではなく「必要な一瞬だけ管理者」。これが安全の核心だ。
4. su と sudo はどう違うのか?
結論: su は root に「成り代わって居座る」コマンド、sudo は権限を「1コマンドだけ借りて即返す」コマンド。普段使いで安全なのは sudo。
su っていうコマンドも見かけました。これは sudo と何が違うんですか?su(switch user)は「ユーザーを切り替える」コマンドで、引数なしで使うと root に切り替わる。一度切り替えると、exit するまでずっと root のまま作業することになる。su で root になると、そのあと打つコマンドは全部 root 権限。ブレーキの無い状態が続く。一方 sudo はコマンド単位だから、危険な状態にいる時間が一瞬で済む。| 項目 | su |
sudo |
|---|---|---|
| 何をする | root に切り替わって居座る | 1コマンドだけ権限を借りる |
| 権限の範囲 | exit するまでずっと root |
そのコマンド実行中だけ |
| 聞かれるパス | root のパスワード | 自分(実行ユーザー)のパスワード |
| ログ | 残りにくい | 誰が何をしたか残る |
| 普段使い | 非推奨 | 推奨 |
sudo su という形も使われるが、まずは sudo command から
sudo su や sudo -i で「sudo 経由で root シェルに入る」操作も存在する。連続して管理作業をしたい場面では使われるが、root シェルに居座る点では su と同じリスクがある。初心者のうちは「コマンドごとに sudo を付ける」基本形に慣れるのが安全。
5. sudo はどう使う?(基本の形)
結論: 管理者権限が要るコマンドの前に
sudoを付けるだけ。sudo <コマンド>が基本形で、初回などは自分のパスワードを聞かれる。
sudo を付けるだけ。たとえばパッケージ一覧を更新するなら、こう打つ。sudo apt update
[sudo] password for lina: Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease ...
今の自分が誰なのかは whoami で確認できる。
whoami
lina
sudo を付けたコマンドの中だけ root として動き、終われば lina に戻っている。
自分に何が許されているか sudo -l で確認
sudo を使えるユーザーや実行できるコマンドは、/etc/sudoers という設定で管理されている。自分にどんな sudo 操作が許可されているかは、次のコマンドで一覧できる。
sudo -l
「自分は何を管理者権限で実行できるのか」を把握しておくと、Permission denied で詰まったときの切り分けが速くなる。
6. 最小権限の原則とは?
結論: 「作業に必要な最小限の権限だけを持つ」という考え方。普段は一般ユーザーで過ごし、管理者権限は必要な瞬間だけ借りることで事故と被害を減らせる。
sudo で借りる。最小権限の原則は習慣で身につく
- 普段のログインは一般ユーザーで行う(root で常用しない)
- 管理者権限が要るコマンドだけ
sudoを付ける sudoを付ける前に「このコマンドは本当に管理者権限が必要か」を一度考える- 何を実行しようとしているか分からない
sudoコマンドは、コピペで実行しない
「強い権限はすぐ返す」を習慣にすれば、事故の大半は防げる。
7. 手を動かして確かめるには?
結論:
whoamiで今の自分を確かめ、sudo付き/なしでコマンドの通り方がどう変わるかを実際に打つのが、いちばん速い理解の近道。
whoami で今の自分を確認して、権限が要る操作を sudo あり・なしで試すと、「あ、ここで権限が必要なんだ」と体でわかるよ。whoami や権限の感覚を確かめられるよ。whoami id
lina uid=1000(lina) gid=1000(lina) groups=1000(lina),27(sudo)
id の出力に sudo グループが含まれていれば、そのユーザーは sudo を使える。uid=1000 のように 0 以外なら、今は root ではなく一般ユーザーだ。
Penguin Gym Linux のターミナル で whoami や id を打って、「今の自分が誰か」を確かめてみよう。権限の感覚をつかむと、sudo を付ける/付けない の判断が自然にできるようになる。
まとめ
rootは権限チェックを免除された 何でもできる管理者アカウント- root を常用すると、ミスやマルウェアの被害が システム全体に及ぶ
sudoは 1コマンドだけ権限を借りて即返す仕組み(責任もログに残る)suは root に居座る、sudoはコマンド単位 —— 普段使いはsudo- 基本形は
sudo <コマンド>、自分に許された操作はsudo -lで確認 - 根底にあるのは 最小権限の原則: 普段は一般ユーザー、必要な一瞬だけ管理者