sudo とは何か – Linux Mint で学ぶ「管理者権限」の考え方

Linux Mint を徹底的に使いこなす
Stage 2 01_02
sudo とは何か Linuxの管理者権限について
 
Linux Mint で「コマンド」を使い始めると、必ず目にするのが 【sudo】 という管理者権限でのコマンドの実行だ。しかし、「なぜ毎回これを付けなければならないのか」「そもそも何をしているコマンドなのか」を理解しないまま使ってきた。
 
システムのパッケージ一覧を更新する場合の例
 
そこで、sudo の仕組みと、その背景にある「管理者権限」の考え方について掘り下げてみた。
 
 

 

スポンサー リンク

 

 
 
 
 
 
1. sudo とは何か
 
 

 sudo は "superuser do"(スーパーユーザーとして実行する)の略で、
 通常は一般ユーザーの権限で操作している状態から、そのコマンド一回だけ管理者(root)の権限を借りて実行するための仕組みです。

 
システムのパッケージ一覧を更新する場合の例。
sudo apt update
 
システムのパッケージ一覧を更新する場合の例
 
このコマンドを実行すると、パスワードの入力が求められ、正しく入力すると、このコマンドだけが管理者権限で実行され、完了するとまた元の一般ユーザーの権限に戻る。
このコマンドを実行すると、パスワードの入力が求められ、正しく入力すると、このコマンドだけが管理者権限で実行され、完了するとまた元の一般ユーザーの権限に戻る
 
📌 ポイント:
「ログイン自体をroot に切り替える」わけではなく、あくまで「このコマンドだけ、特別に強い権限で実行してよいか」を都度確認する仕組みになっている点です。
 
🧰 sudo の有効範囲・時間
 • デフォルトの有効時間: パスワード入力後、15分間
 • 15分以内でも、ターミナル(端末)を閉じると、その有効範囲(キャッシュ)はリセットされる。
 
 
 
2. なぜ Linux では root で常時作業しないのか
 
Linux には「root」と呼ばれる、システムに対してあらゆる操作が可能な特別なユーザーが存在する。
 
最初から root としてログインして作業すれば sudo は不要ではと思われるが、これには次の2つの理由がある。
 
 • 誤操作のリスク:
root権限では、重要なシステムファイルを誤って削除・変更してしまうと、確認なしにそのまま実行されてしまう。
 
 • セキュリティ上のリスク:
常時 root で操作していると、悪意のあるプログラムやスクリプトを誤って実行した場合、被害がシステム全体に及んでしまう可能性がある。
 
これは「最小権限の原則」という考え方で、背景に「普段は必要最小限の権限だけで作業し、強い権限が本当に必要な瞬間だけ、一時的にそれを借りる」という設計思想がある。
 
 
 
3. Windows での管理者権限
 
Windows にも、UAC(User Account Control / ユーザーアカウント制御)という機能があり、システムに影響を与えるような操作(ソフトウェアのインストール、システム設定の変更など)を行うと、画面に次のようなポップアップが表示される。
 
「このアプリがデバイスに変更を加えることを許可しますか?」
「このアプリがデバイスに変更を加えることを許可しますか?」
 
ここで「はい」を選択すると、そのプログラムだけが一時的に管理者権限で実行される。
 
また、特定の .exe ファイルを実行すると、「この不明な発行元からのアプリがデバイスに変更を加えることを許可しますか?」のメッセージが出る場合がある。
この不明な発行元からのアプリがデバイスに変更を加えることを許可しますか
 
このように Windows でも、「常に管理者権限で動いているわけではなく、必要な瞬間だけ権限を昇格させる」という点では、Linux の考え方と共通している。
 
🧰 Windows の「ターミナル(管理者)」は、ウィンドウ全体(セッション単位)を管理者権限で最初から開く方法で、Linux の sudo と同じではない。
 
 
「この不明な発行元からのアプリが・・・」を止める方法:
 
 
 
4. sudo su や sudo -i との違いを理解する
 
sudo [オプション] コマンド
 
オプション:
 • -u [ユーザー名]:コマンドを実行するユーザーやユーザーIDを指定(省略時はroot)。
 • -g [グループ名]:コマンドを実行するグループを指定します。
 • -i:root(または指定ユーザー)のログインシェルに切り替えて実行します。
 • -s:シェルを起動してコマンドを実行します。
 • -v:パスワードの有効期限(認証キャッシュ)を延長・更新します。
 • -k:パスワードの認証キャッシュを破棄(クリア)します。
 • -l:現在実行可能なsudoコマンドの一覧や権限を表示します。
 • -S:パスワードを端末ではなく標準入力から受け取ります。
 • -n:パスワード入力を求められた際に、入力をスキップしてエラーにします(非対話型処理向け)。
 
rootユーザー(管理者)に切り替えるコマンド。
su - または sudo su - または sudo -i
 
rootユーザー(管理者)に切り替えるコマンド
 
sudo コマンド が「そのコマンドだけ」一時的に権限を借りるのに対し、sudo su や sudo -i は root ユーザーとしてログインし直す操作です。
 
元に戻すコマンド。
exit
 
root のシェル(操作画面)に入ったまま作業を続けると、前述した「常時rootで作業するリスク」がそのまま当てはまってしまうため、必要な作業が終わったらすぐに exit で抜けることをおすすめします。
 
 
 
5. sudo でのパスワード入力を不要にする設定
 
/etc/sudoersファイルに、sudoの管理者権限などが記述されている。
 
この/etc/sudoersファイルを編集するための専用コマンド 【visudo】 が用意されており、ファイルをロックして文法チェックも行ってくれる。
 
このコマンドを使って、mint ユーザーの権限を登録する。
sudo visudo
 
このコマンドを使って、mint ユーザーの権限を登録する
 
/etc/sudoersファイルが開いたら、下にスクロールする。
/etc/sudoersファイルが開いたら、下にスクロールする
 
mint ユーザーの権限を登録する。
mint ユーザーの権限を登録する
 
登録内容。
ALL=(ALL) NOPASSWD: ALL
 
これで、sudoコマンドでのパスワード入力が不要になる。
 

 

以上。
(2026.09.22)

 

 

スポンサー リンク

 

             

 

 

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください