技術ノート 特徴 Linux のファイル権限はどのように機能しますか?

Linux のファイル権限はどのように機能しますか?

Linux のファイル権限はどのように機能しますか?

Linux (OS X も) をしばらく使用している場合は、おそらく「アクセス許可」エラーに遭遇したことがあるでしょう。しかし、それらは正確には何であり、なぜそれらが必要または有用なのでしょうか?内部を見てみましょう。

ユーザー権限

Linux のファイル権限はどのように機能しますか?

昔、コンピューターは信じられないほど高価な巨大な機械でした。これらを最大限に活用するために、複数のコンピュータ端末が接続され、多くのユーザーが同時に業務を遂行できるようになりました。データの処理と保存はマシン上で行われますが、端末自体はデータを表示および入力する手段にすぎません。考えてみると、これは私たちが「クラウド」上のデータにアクセスする方法とほとんど同じです。 Amazon の Cloud MP3 システム、Gmail、Dropbox を見ると、変更はローカルで行うことができますが、すべてがリモートに保存されていることがわかります。

Linux のファイル権限はどのように機能しますか?

(画像: Zenith Z-19「ダム」端末、クレジット: ajmexico )

これを機能させるには、個々のユーザーがアカウントを持っている必要があります。ストレージ領域の一部が割り当てられ、コマンドやプログラムの実行が許可される必要があります。誰もが特定の「ユーザー権限」を取得し、これにより、何ができるかできないか、システム上のどこにアクセスできるかできないか、誰のファイルを変更できるかできないかが決まります。各ユーザーは、さらなるアクセスを許可または制限するさまざまなグループにも配置されます。

Linux のファイル権限はどのように機能しますか?

ファイルアクセス

この奇抜なマルチユーザーの世界では、ユーザーができることについての境界がすでに設定されています。しかし、彼らがアクセスするものはどうなるのでしょうか?すべてのファイルには一連の権限と所有者があります。所有者の指定は通常、ファイルの作成時にバインドされ、そのファイルがどのユーザーに属するかを宣言し、そのユーザーのみがそのアクセス許可を変更できます。

Linux の世界では、権限は読み取り、書き込み、実行の 3 つのカテゴリに分類されます。 「読み取り」アクセスではファイルの内容を表示でき、「書き込み」アクセスではファイルの内容を変更でき、「実行」アクセスではスクリプトやプログラムなどの一連の命令を実行できます。これらの各カテゴリは、ユーザー、グループ、ワールドなどのさまざまなクラスに適用されます。 「ユーザー」は所有者を意味し、「グループ」は所有者と同じグループに属する任意のユーザーを意味し、「ワールド」は誰でも、すべての人を意味します。

これらの権限を使用してフォルダーを制限することもできます。たとえば、グループ内の他のユーザーにはホーム フォルダー内のディレクトリとファイルの表示を許可し、グループ外のユーザーには表示できないようにすることができます。何らかの共有プロジェクトに取り組んでいる場合を除き、おそらく「書き込み」アクセスを自分自身だけに制限する必要があるでしょう。また、誰でもそのフォルダー内のファイルを表示および変更できる共有ディレクトリを作成することもできます。

Linux のファイル権限はどのように機能しますか?

Ubuntuでのアクセス許可の変更

GUI

Ubuntu で所有するファイルのアクセス許可を変更するには、ファイルを右クリックして「プロパティ」に移動します。

所有者、グループ、またはその他が読み取りと書き込みができるか、読み取り専用か、何もできないかを変更できます。ファイルの実行を許可するボックスをチェックすることもできます。これにより、所有者、グループ、およびその他のユーザーが同時にファイルを実行できるようになります。

コマンドライン

これはコマンドラインから行うこともできます。ファイルが含まれるディレクトリに移動し、次のコマンドを入力して、リスト内のすべてのファイルを表示します。

ls -al

各ファイルとディレクトリの横に、そのファイルとディレクトリが持つアクセス許可の概要を説明する特別なセクションが表示されます。次のようになります。

-rwxrw-r–

r は 「読み取り」、 w は「書き込み」、 x は 「実行」を表します。ディレクトリは「-」ではなく「d」で始まります。また、値を保持するスペースが 10 個あることにも気づくでしょう。最初のセットは無視できます。その後、3 つのセットが 3 つあります。最初のセットはオーナー用、2 番目のセットはグループ用、最後のセットは世界用です。

ファイルまたはディレクトリのアクセス許可を変更するには、chmod コマンドの基本形式を見てみましょう。

chmod [クラス][オペレーター][権限]ファイル

chmod [ugoa][+ または –] [rwx] ファイル

最初は複雑に思えるかもしれませんが、とても簡単です。まず、クラスを見てみましょう。

  • u: これはオーナー用です。
  • g: これはグループ用です。
  • o: これは他のすべてのものです。
  • a: これにより、上記すべての権限が変更されます。

次に、演算子は次のようになります。

  • +: プラス記号は、その後に続く権限を追加します。
  • -: マイナス記号は、その後に続く権限を削除します。

まだ私と一緒に?最後のセクションは、ファイルのアクセス許可を確認したときと同じです。

  • r: 読み取りアクセスを許可します。
  • w: 書き込みアクセスを許可します。
  • ×:実行を許可します。

では、まとめてみましょう。次の権限を持つ「todo.txt」という名前のファイルがあるとします。

-rw-rw-r–

つまり、所有者とグループは読み取りと書き込みが可能ですが、ワールドは読み取りのみ可能です。以下の権限を変更したいと考えています。

-rwxr—–

つまり、所有者は完全な権限を持ち、グループは読み取りができます。これは 3 つのステップで実行できます。まず、ユーザーの実行権限を追加します。

chmod u+x todo.txt

次に、グループの書き込み権限を削除します。

chmod gw todo.txt

最後に、他のすべてのユーザーの読み取り権限を削除します。

chmod または todo.txt

次のように、これらを 1 つのコマンドに結合することもできます。

chmod u+x、gw、または todo.txt

各セクションがカンマで区切られており、スペースが入っていないことがわかります。

以下に便利な権限をいくつか示します。

  • -rwxr-xr-x : 所有者には完全な権限があり、グループおよび他のユーザーはファイルの内容を読み取り、実行できます。
  • -rwxr–r– : 所有者には完全な権限があり、グループと他のユーザーはファイルの読み取りのみが可能です (他のユーザーがファイルを閲覧することを気にしない場合に便利です。)
  • -rwx—— : 所有者には完全な権限があり、他のすべての権限はありません (個人のスクリプトに役立ちます)。
  • -rw-rw—-: 所有者とグループは読み取りと書き込みができます (グループ メンバーとの共同作業に役立ちます)。
  • -rw-r–r– : 所有者は読み取りと書き込みができ、グループと他のユーザーはファイルの読み取りのみが可能です (共有ネットワーク上に個人ファイルを保存する場合に便利です)。
  • -rw——– : 所有者は読み取りと書き込みができますが、他のすべての所有者は読み取りと書き込みを行えません (個人ファイルの保存に役立ちます)。

setuid や setgid など、chmod を使用して実行できることは他にもいくつかありますが、それらは少し詳細なものであり、ほとんどのユーザーは実際にそれらを使用する必要はありません。

Linux のファイル権限はどのように機能しますか?

ルートまたはスーパーユーザーとシステム ファイル

現在では、複数のユーザーがいるシステムを常に実行しているわけではありません。なぜパーミッションについてまだ心配する必要があるのでしょうか?

Unix とその派生製品 (特に Linux、OS X など) も、ユーザーによって実行されるもの、管理者または管理者権限によって実行されるもの、およびシステム自体によって実行されるものを区別します。そのため、システムに不可欠なものを変更またはアクセスするには管理者権限が必要です。こうすれば、誤って何かを台無しにしてしまうことはありません。

Ubuntu では、システム ファイルに変更を加えるには、「sudo」または「gksudo」を使用して管理者権限と同等の権限を取得します。他のディストリビューションでは、「root」または「スーパーユーザー」に切り替え、ログアウトするまで事実上同じことを行います。

どちらの状況でも、ファイルのアクセス許可を変更すると、プログラムが動作しなくなったり、意図せずにファイルの所有権が (所有者ではなく) root ユーザーに変更されたり、(より多くのアクセス許可を付与することで) システムの安全性が低下したりする可能性があることに注意してください。したがって、必要な場合、または自分が何をしているのかわかっている場合を除き、ファイル (特にシステム ファイル) のアクセス許可を変更しないことをお勧めします。


ファイル権限は、ユーザー間の基本的なセキュリティ システムを提供するために設けられています。それらがどのように機能するかを学ぶことは、マルチユーザー環境で基本的な共有を設定し、「パブリック」ファイルを保護し、システム ファイルの所有権に問題が発生したときの手がかりを得るのに役立ちます。

もっと簡単に説明できると思いますか?訂正がありますか?昔を思い出してみませんか?休憩して、あなたの考えをコメントに書き留めてください。

「 Linux のファイル権限はどのように機能しますか?」に関するベスト動画選定!

【Linux 入門】パーミッションを超ざっくり解説!【何となく理解するIT】
Linuxのファイル権限ってよく分からない! 権限の読み方について教えて、れい先生!