質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
CPU

CPUは、コンピュータの中心となる処理装置(プロセッサ)で中央処理装置とも呼ばれています。プログラム演算や数値計算、その他の演算ユニットをコントロール。スマホやPCによって内蔵されているCPUは異なりますが、処理性能が早いほど良いとされています。

OS

OS(オペレーティングシステム)は、システムソフトウェアの一種であり、一般的に、ハードウェアを直接的に管理・操作する最も中心的な機能を有するソフトウェアがオペレーティングシステムとして呼ばれます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

2回答

1655閲覧

root権限とは具体的に何をできる権限のことかがわかりません

退会済みユーザー

退会済みユーザー

総合スコア0

CPU

CPUは、コンピュータの中心となる処理装置(プロセッサ)で中央処理装置とも呼ばれています。プログラム演算や数値計算、その他の演算ユニットをコントロール。スマホやPCによって内蔵されているCPUは異なりますが、処理性能が早いほど良いとされています。

OS

OS(オペレーティングシステム)は、システムソフトウェアの一種であり、一般的に、ハードウェアを直接的に管理・操作する最も中心的な機能を有するソフトウェアがオペレーティングシステムとして呼ばれます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

0クリップ

投稿2018/09/24 06:04

システムコールについて調べていたら、CPUのユーザーモード/カーネルモードなどが出てきてわからなくなってきたので質問します。

## カーネルモード、カーネルランド、システムコール

CPUにユーザーモード/カーネルモードがあるというのを知りました。
カーネルモードではなんの制限もなく、全メモリ空間にアクセスできたり、任意の命令を実行できるモードです。
ここで実行できる命令を特権命令といいます(?)

似た名前の用語にOS(?)に、ユーザーランド/カーネルランドがあるというのを知りました。
メモリ空間を混同しないように、ココからここはカーネル用のメモリ領域、それ以外のところはユーザー用のメモリ領域と割り振っています。

そもそもこれらが、用語的に正しい理解の仕方かどうかも怪しいです。

システムコールはユーザーモードからカーネルモードに移行して、特権命令を実行することができます。

質問

では、「root権限」というのはどういう意味なのでしょうか。
wikiによると、

Unix系OSでは、root が全モード(シングルユーザー/マルチユーザー)で全権利(あるいはパーミッション)を持つユーザーの既約名である

とのことですが、この「全権利」というのがふわっとしていてよくわかりません。

sudoしてroot権限を持つと、CPUのカーネルモードであるように、いつでも特権命令を実行できるような状態のことでしょうか。

そして、ユーザーランド、カーネルランド、全てのメモリ空間にアクセスできる状態なのでしょうか。

それとも、もう少し制限があるもので、ただ単に全てのファイル(~/以下)にアクセスできるだけのものなのでしょうか。

ところどころ理解の怪しい部分があります。
曖昧な部分の補足と、間違っている部分のご指摘をしていただけると嬉しいです。
よろしくおねがいします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

調べたURLや書籍名を載せると解決が早い場合もあります。
ググって最初のhitがわかりにくかったら、その次にhitしたURLをいくつか調べるくらいの努力を惜しんではなりません。

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

投稿2018/09/24 06:09

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

CPUのユーザモード/カーネルモードというのはハードウエア的なアクセス権限のはなしで、rootとかのソフトウエア的な権限のはなしとは全く別です
ユーザモードからはカーネルモードにかかる命令/資源には一切アクセスできません
それを行うためには、システムコールを介して、カーネル上からアクセスしてもらい、その結果を得るという形となります

投稿2018/09/24 06:14

y_waiwai

総合スコア87719

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/09/24 06:20

回答有り難うございます。 ということは、root権限を得たところで、カーネルランドのメモリ領域を見れるわけでもなく、システムコールを使わなければ特権命令も実行できないということでしょうか。 ソフトウェア上の話で、そのOS上の場所には、制限なくアクセスできる。 という理解であってますでしょうか。
y_waiwai

2018/09/24 06:24

そういうことです。 rootとかのユーザ権限というのはあくまでOS上のはなしで、OSがそのユーザによりアクセスの可否を決めています で、ユーザモード/カーネルモードは全く別の話で、Linuxのカーネルはカーネルモードで動いてて、ユーザプログラムは、カーネルがユーザモードに切り替えて実行してます #まあ、実際はそんな単純でもないですが
kazuyakazuya

2020/01/10 03:21

いわゆる、ユーザーモードで動いているタスクから 同じモード(権限)のセグメントにアクセスすることはできるんですか?
y_waiwai

2020/01/10 04:29

ハードウエアの話に限定しますと CPUのユーザモード/カーネルモード(スーパバイザモード)は、使用できる命令、レジスタ、そして一部のメモリのアクセスの可否を決めます また、メモリアクセスに関してはMMUてのが別にあって、これによって細かく使用可否、アクセス種類可否が決められるようになってます ということで、おなじユーザモードであったとしても、MMUにより使用できるメモリエリアは区別をつけられます #現状の一般的なCPUのはなしのざっくりした説明なんで、これとは違う!というCPUもありますね
kazuyakazuya

2020/01/10 05:31

MMUが関係してくるんですね・・・。 わかりました 調べてみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問