【完全初心者向け】Linuxのrootユーザとは?

rootユーザとは
  • このエントリーをはてなブックマークに追加
  • Pocket

LinuxのrootユーザとはLinuxの管理者のことだ。

rootは根っこ・根本・根元という意味がある。LinuxのrootユーザはそのLinuxシステムを好きに編集することができる最高権限をもったユーザだ。

このページではrootユーザについて初心者の方向けにご紹介しよう。

Linuxのrootユーザとは?

rootユーザ = 管理者

「root」ユーザはLinuxやUnix Like Systemにおける「管理者権限」だ。

Windowsでいうところのadministrator(アドミニストレータ)と同じ意味になる。

セキュリティ上、最も守らなくてはならないユーザであり、パスワードは管理者以外に知られてはならない。これが漏れたら一発アウトだ。そのLinuxは諦めて、インストールし直した方がいい。

それくらい大事なユーザ権限だと考えよう。

rootとはUnix Like System上の唯一神

要するに、rootはUnix Like System上の「唯一神」である。

基本的にLinuxでは「rootの命令は絶対」だ。他のユーザのパスワードを変更したり、システムファイルのパーミッションを書き換えることもできるし、Logを自分で書き換えることもできる。

自分自身で「/」ディレクトリを削除することも可能である。安易に扱うにはとても危険な権限である。

rootでログインをしてはいけない

インストール後、とりあえずは普段使う一般ユーザを1人つくることだ。後述するが必要な時だけroot権限を借りるようにしよう。

先程も記述したがrootはその気になればシステム全体を削除することもできる。これはなにも意図的でなくても、誤操作でシステムファイルを削除してしまう可能性もあるからである。

「rm」コマンドのあと「*」などのワイルドカードを指定し、間違えてそのままエンターを押してしまった場合などの大事故が発生する。

root権限でこれを実行してしまった場合問「.hoge」などの最初がドットの隠しファイル以外、問答無用でそのディレクトリ内部のファイルが削除されてしまう。

オペレータがあなただけならば、困るのはあなただけかもしれないが、他人と共有しているサーバへログインしていた場合大惨事になるのは容易に想像できるだろう。

事故を防ぐためにも基本的に一般ユーザを使うことを意識しよう。root権限が必要な時を列挙すると

  • インストール後の初期設定、および設定変更時
  • パッケージインストール時
  • ログの確認時

上記3つのとき以外は基本的には一般ユーザで操作をおこなう方がいいだろう。

実際にやってみよう

rootでログイン

rootで一度ログインしてみよう。 ログイン画面で、ユーザ名:root、パスワード:決めた物を入力すればログインできる。

コマンドコンソールだと入力を受け付けるプロンプトが一般ユーザはシェルによってことなるが「$」もしくは「%」である。rootをスーパーユーザと呼ぶが、スーパーユーザは「#」となる。スーパーユーザはなんとなくイメージがわかると思うが、スーパーなユーザなのでなんでもできるrootを指している。

#の状態で、「id」コマンドを打ってみよう。

必ずuid=0(root) gid=0(root)と0番がわりふられているはずである。uidはユーザIDで、gidはグループIDを意味している。

これはどのLinuxディストリビューションでも共通だ。

# id

idコマンド

ディレクトリに関して

ディレクトリに関して一般ユーザは「/home/<hoge>」とhomeディレクトリの下にユーザディレクトリがあり、一般ユーザのデータはそこに保存される。

しかし「root」の場合「/root」という専用ディレクトリが用意されている。昔はルートディレクトリ「/」がそのままスーパーユーザのトップディレクトリだったが、「セキュリティ上問題が発生しかねない」という理由で専用のディレクトリである/rootがもうけられた。

$  ls  /

lsコマンド

suとsudo

基本的に一般ユーザが書き込みを許されているのは「/home」「/tmp」ディレクトリだ。

しかし管理者としてシステム設定などを変更したい場合はroot権限を借りなくてはならない。そこで「su」と「sudo」というコマンドを使うことになる。どちらも一時的にroot権限を借りることには変わりないが使用方法が異なる。

su

一般的なsuの使い方の場合ユーザはroot権限を一時的に使えるようになる。プロンプトは「#」になりexitするまで持続する。

su使用時にきかれるパスワードは「rootのパスワード」である。

もしシステム管理者があなたしかいないのならばsuで問題ないかもしれないが、他人と共有する場合、他人にrootパスワードを知らせることになる。

「rootのパスワードは知られてはいけない」という観点からいうのならば、セキュアではない、よってsudoを使うほうがいいだろう。

$  su

suコマンド

sudo

sudoはコマンド単位で一時的にroot権限を使う方法だ。「スーパーユーザでDoするからsudo」という意味合いで覚えておこう。

また必要なパスワードは「あなたのパスワード」である。

コマンド単位で「誰にどのコマンドをrootで実行させることを許可するか」を指定できる。こうすることでrootパスワードを知られることなく、必要なコマンドをroot権限で実行できるようになる。

もちろん無差別に権限を割り振ってしまうと意味がなくなるので注意していただきたい。sudoを使うには「visudo」コマンドで設定ファイルを編集しなければならない。一度スーパーユーザになってから。

# visudo

設定ファイルが開かれるはずなので最後の行に

hoge localhost=/sbin/shutdown -h now

と追加する。これでユーザhogeでsudoを使用してシャットダウンが可能になる。

$  sudo  shutdown -h now

sudo shutdown

基本的には下記のような記述を追加する。

ユーザ ホスト=(権限) コマンド

例えばユーザsaoriにすべてのコマンドの実行権限を与えたければ、

saori ALL=(ALL) ALL

のようにすればいい。

最近のディストリビューションの多くは、root権限になるのではなく、sudoの使用を推奨している。

まとめ

このページではLinuxのrootユーザについて一通りご紹介してきた。だいたいの内容はご理解いただけただろうか?

  • rootユーザはほとんどなんでもできる強力な権限をもったユーザ
  • rootになるのは避けて、安全にシステムを運用する

という2点を理解していただければと思う。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できます。

IT講師に興味はありませんか?

・「今までIT講師をやってきたが、更に多くの講義を行いたい」

・「エンジニアとしてやってきたが講師業に魅力を感じている」

・「講師として活躍するためにベースとなる知識を知りたい」

・「様々な分野や言語の講師にチャレンジしてみたい」


という方はぜひIT講師募集のページをご覧ください。


リスキルテクノロジーでは「受講している方々にITを好きになってもらう」ことを目標に、同じ目標に向かって歩んで行ける講師の方を常に探しています。


システム開発やインフラ構築などのエンジニアリング経験を活かし、新入社員などの未経験者や経験の浅い初学者の方々に対してITトレーニングを行っていただくことになります。


テキストやカリキュラムは事前に用意されており、それらを元に講義を進めていくため、IT講師をはじめて実施する方でも安心してトレーニングを実施できます。


IT講師募集のページを見る

SNSでもご購読できます。

コメント

  1. さくらば より:

    #visudoのところの説明のところ、もう少し詳しく説明していただきたいです。設定開いた後で詰まってます

    1. リカレントテクノロジー より:

      コメントありがとうございます! 説明を追加してみました。ご確認下さい。

  2. ももんが2 より:

    LINUXの独学にとても分かりやすく助かっています。
    #visudoの部分で質問ですが
    「takahashiにすべてのコマンドの実行権限を与えたければ」の画像は
    「takahashi」ではなく「saori」ユーザにすべてのコマンドの実行権限を与えた例でよろしかったでしょうか。

    あと本文中のスーパーユーザというのは、rootのことになりますでしょうか?

    1. リカレントテクノロジー より:

      お役立ていただいているようで大変嬉しく思います。

      おっしゃる通りでした。ご指摘ありがとうございます。修正しました。

      スーパユーザというものはおっしゃる通りrootになります。こちらも追記しておきます。

  3. みやけ より:

    すばらしい
    簡潔でわかりやすい

    1. リカレントテクノロジー より:

      ありがとうございます。引き続きLinuxを勉強する際にご使用いただけますと幸いです。

  4. より:

    ありがとうございます。

さくらば へ返信する コメントをキャンセル

*

未経験からの育成制度も充実
IT講師に興味はありませんか?

リスキルテクノロジーでIT講師の積極募集を開始! 経験・未経験問わずご応募可能。育成制度で講師スキル向上も目指せます

IT講師に応募する