Linuxファイルのパーミッション– Chmod777とは何ですか?その使用方法

Linuxを初めて使用(new Linux user)する場合は、早い段階でChmodコマンドに遭遇した可能性があります。おそらく誰かが「chmod777」でファイルを特定のフォルダに移動するように言ったのですが、それはうまくいきました!では、chmodコマンドは何をし、数字は何を意味するのでしょうか?

この記事では、 Linux(Linux)ファイルのパーミッションについて知っておく必要のあるすべてのことについて説明します。chmodコマンドと特定のアクセスレベルに対応する番号を理解するには、これを知っておくことが重要です。Ubuntu、Fedora、またはよりエキゾチックなLinuxディストリビューション(Linux distro)を使用するかどうかにかかわらず、 CHMODコマンドを使用して権限を777に設定しても問題がない場合と、別の設定を使用する必要がある場合を理解する必要があります。

Linuxファイルパーミッションのしくみ

Linuxでは、オペレーティングシステムは、ファイルのアクセス許可、所有権、および属性に基づいて、特定のファイルにアクセスできるユーザーを決定します。このシステムでは、所有者または管理者がさまざまなファイルやディレクトリへのアクセス制限を有効にすることができます。信頼できるユーザーとプログラムにのみアクセスを許可することで、システムのセキュリティを向上させることができます。

ユーザークラスを理解する(Understanding User Classes)

特定のユーザーとグループがすべてのファイルとディレクトリを所有しています。これは、特定のレベルのアクセスを割り当てることができるユーザーの3つのカテゴリーがあることを意味します。(three categories of users)これらのユーザーは次のように分類されます。

  • オーナー
  • グループ
  • その他

これらのグループは、任意のディレクトリを右クリックして[プロパティ(Properties)]を選択し、 [権限]タブに移動することで、 (Permissions)Ubuntuで視覚的に確認できます。

所有者(Owner)はすべての力を持つ人です。通常、ユーザーはすべてのファイルとディレクトリに完全にアクセスでき、他のユーザーのファイル権限も変更できます。

グループ(Group)は、所有者(Owner)によって指定されたファイルまたはディレクトリへの特定のレベルのアクセス権を持つ多数のユーザーで構成されます。たとえば、ユーザーのグループは、ファイルを表示するためのアクセス権が付与されている間、ファイルの変更から除外できます。

Othersクラスは、他の2つのカテゴリに分類されないゲストユーザーを表すだけです。デフォルトでは、それらのアクセスレベルは通常制限されています。ゲストユーザーができることとできないことを決定するのは所有者(Owner)次第です。

ファイルのアクセス許可レベルを理解する(Understanding File Permission Levels)

所有者(Owner)として、ファイルとディレクトリへのアクセスの3つのレベルを割り当てることができます。

  1. 読む(Read):ファイルまたはディレクトリへのアクセスを制限します。ファイルを読み取るか、ディレクトリの内容を表示するだけです。ファイルを編集したり、ディレクトリから新しいファイルを削除したり追加したりすることはできません。
  2. 書き込み(Write):ファイルの読み取りと編集を可能にします。このレベルのアクセスをディレクトリに割り当てると、ファイルを削除または追加することもできます。
  3. 実行(Execute):ファイルを実行または実行する場合にのみ重要です。たとえば、実行の許可なしにスクリプトやプログラムを実行することはできませ(Execute)

クラスとアクセス許可を組み合わせることにより、特定のユーザーがファイルまたはディレクトリにアクセスできる量を制御できます。

許可記号(Symbols)番号(Numbers)の説明

ファイルのアクセス許可は、数値または記号で表されます。記号と数字の両方を使用して、ファイルとディレクトリのアクセス許可を変更できます。最も簡単な方法は数字を使用することですが、記号も理解する必要があります。それでは、最初にファイル権限の背後にある記号を見てみましょう。

ファイル許可記号(File Permission Symbols)

ターミナルで次のコマンドを入力すると、特定のディレクトリ内のすべてのコンテンツに対するアクセス許可を表示できます。

ls -l

cdコマンドを使用して、任意のディレクトリに移動できます。完全な初心者の方は、基本的なLinuxコマンド(basic Linux commands)に関する記事をご覧ください。

この例では、ディレクトリに他の2つのディレクトリと1つのファイルが含まれています。権限は、理解を容易にするためにトリプレットに分割できる(1+)9個の記号を使用して記述されています。Booksディレクトリの最初の権限セットを調べてみましょう。

drwxrwxr-x

読みやすくするために分割してみましょう。

d rwx rwx rx

最初の記号はdで、(d,)ディレクトリを表します。また、 Outline.docx(Outline.docx)ファイルの3番目のアクセス許可セットに示されているように、ファイルの場合はダッシュ記号にすることもできます。

次に、3つのグループのシンボルがあります。最初のグループは所有者のアクセス許可レベルを表し、2番目のグループはグループ(Group)クラス用であり、3番目のグループはその他を表します。

3つの記号の各セットは、読み取り、書き込み、実行の順に意味します。したがって、所有者には、(Owner)テスト(Test)ディレクトリ内にあるすべてのファイルとディレクトリの読み取り、書き込み、および実行の権限があります。視覚的な表現は次のとおりです。

r、w、またはxの代わりにダッシュ記号が表示されている場合は、権限が存在しないことを意味します。

ファイルのアクセス許可番号(File Permission Numbers)

ファイル権限の数値形式は単純です。本質的に、ファイル許可コードは3桁です。

  • 1つ目は、ファイル所有者用です。
  • 2つ目は、ファイルのグループを表します。
  • 最後の桁は他のすべての人のためのものです。

数字の範囲は0〜7です。ここで、

  • 4=読み取り。
  • 2=書き込み。
  • 1=実行します。
  • 0=許可なし。

各クラスの許可桁は、許可の値を合計することによって決定されます。つまり、各クラスの各桁は、4、2、1、および0の合計になります。アクセス許可の完全なリストは次のとおりです。

  • 0(0 + 0 + 0)=ユーザークラスには権限がありません。
  • 1(0 + 0 + 1)=実行(Execute)権限のみ。
  • 2(0 + 2 + 0)=書き込み(Write)権限のみ。
  • 3(0 + 2 + 1)=書き込み(Write)および実行権限。
  • 4(4 + 0 + 0)=読み取り(Read)権限のみ。
  • 5(4 + 0 + 1)=読み取り(Read)および実行権限。
  • 6(4 + 2 + 0)=読み取り(Read)および書き込み権限。
  • 7(4 + 2 + 1)=すべての権限。

たとえば、644権限は、ファイル所有者が読み取りおよび書き込み権限を持っているのに対し、他の2つのクラスは読み取り権限しか持っていないことを意味します。数値形式を使用して権限を設定するには、基本的な計算のみが必要です。

許可777

おそらくすでにお察しのとおり、777権限は、3つのユーザークラスすべてに読み取り、書き込み、および実行の権限を与えます。つまり、システムにアクセスできる人なら誰でも、ファイルの読み取り、変更、および実行を行うことができます。すべてのユーザーを信頼し、セキュリティ違反について心配する必要がない場合にのみ使用してください。

Permission 777は便利なためよく使用されますが、慎重に使用する必要があります。実際、セキュリティリスクが大きすぎるため、絶対に使用しないことをお勧めします。権限のないユーザーがシステムを危険にさらしたり、たとえば、マルウェアを配布するようにWebサイトを変更したりする可能性があります。

代わりに許可755を与える必要があります。そうすれば、ファイル所有者であるあなたは特定のファイルまたはディレクトリに完全にアクセスでき、他のすべての人は読み取りと実行を行うことができますが、承認なしに変更を加えることはできません。

Chmodを使用した(Chmod)ファイル(File)パーミッションの変更

chmodコマンドを使用してファイルのパーミッションを変更できます。他の変数なしでこのコマンドを使用する最も基本的な方法は次のとおりです。

chmod777ファイル名(chmod 777 filename)

(Replace “)「 filename」をファイルの名前とそのパスに置き換えます。

ファイルのアクセス許可を変更する権限を持つユーザーは、rootアクセス権を持つユーザー、ファイル所有者、およびsudo権限を持つ他のユーザーのみであることに注意してください。



About the author

私はソフトウェア エンジニアであり、Windows 10 の専門家です。スマートフォン、Windows 10、および Microsoft Edge で 2 年以上の経験があります。私の主な焦点は、デバイスの動作をより良く、より速くすることです。Verizon、IMac、HP、Comcast など、さまざまな企業のさまざまなプロジェクトに携わってきました。また、Microsoft Azure クラウド トレーニングの認定インストラクターでもあります。



Related posts