Linuxのパーミッションとchmodの使用法を理解する

私はここ数ヶ月Linuxのコースを受講してきましたが、 (Linux)Linuxの1つの側面で常に混乱していたのは、権限がどのように機能するかでした。たとえば、ファイルをWebサーバーに一度アップロードしてエラーが発生した場合、Webホストからファイルのアクセス許可を755に変更するように指示されました。

権限を変更すると問題が修正されましたが、それが何を意味するのかわかりませんでした。Linuxの権限はそれほど複雑ではなく、システムを理解するだけでよいことに気づきました。この記事では、Linuxのアクセス許可について高レベルで説明し、chmodコマンドを使用してファイルとフォルダーのアクセス許可を変更する方法を示します。

Linuxの権限とレベル

Linuxでは(Linux)、基本的に、読み取り、書き込み、実行の3つの権限について通常心配する必要があります。これらの3つはすべてかなり自明です。これらの権限がファイルに適用されると、レベルで適用されます。

Linuxには、所有者、グループ、その他の3つのレベルの権限があります。所有者はファイル/フォルダーを所有するユーザーであり、グループにはファイルのグループ内の他のユーザーが含まれ、その他は所有者またはグループ内にない他のすべてのユーザーを表します。

読み取り(Read)、書き込み、および実行は、記号文字または8進数として表されます。たとえば、いくつかのファイルがあるディレクトリでls -lを実行すると、権限の記号表現が表示されます。

権限は次のように記述されます。最初のビットはダッシュまたは文字dのいずれかです。ダッシュ(Dash)はそれがファイルであることを意味し、dはディレクトリを表します。ファイル名がリンクの場合、最初のビットもlになる可能性があることに注意してください。(l)次に、3ビットの3つのグループがあります。各グループの最初のビットは読み取り用、2番目のビットは書き込み用、3番目のビットは実行用です。最初の3ビットは所有者用、次の3ビットはグループ用、3番目の3ビットはその他用です。これがより視覚的な説明です。

文字の代わりにダッシュが表示されている場合は、所有者、グループ、または他のすべてのユーザーがその権限を持っていないことを意味します。上記の例では、所有者、グループ、およびその他すべての人が読み取り、書き込み、および実行のアクセス許可を持っています。

ls -lコマンドからの出力を見ると、私の練習用テキストファイルに次の権限があることがわかります。

-rw-rw-rw-

これは、誰もがファイルの読み取り/書き込み権限しか持っていないことを意味します。別の例を次に示します。

drwxr--r--

最初のビットを見ると、アクセス許可がディレクトリに対するものであることがわかります。所有者には読み取り/書き込み/実行権限がありますが、グループおよび他のユーザーには読み取り権限しかありません。

8進数の表現

これが、 Linux(Linux)でシンボルを使用して権限が表示される方法です。同じ権限を表す2番目の方法は、8進数を使用することです。後でchmodコマンドを使用すると、記号または8進数のいずれかを使用して権限を変更できることがわかります。

では、 Linux(Linux)は8進数を使用して読み取り、書き込み、実行をどのように表現するのでしょうか。基本的には、以下に示すように、各権限に番号を割り当てるだけです。

読み取り権限は4で表され、書き込みは2で、実行は1で表されます。必要なのは、8進数の権限を取得するためにそれらを合計することだけです。たとえば、全員がすべての権限を持っている上記の例を見てみましょう。

-rwxrwxrwx

所有者はrwxを持っているので、4 + 2 + 1を追加して値7を取得します。グループに対しても同じことを行い、他のグループに対しても同じことを行います。最終的な8進数の値は777です。読み取り/書き込み権限のみを付与した例を見てみましょう。

-rw-rw-rw-

読み取りと書き込みを追加しているため、最初の8進数は4+2になります。2番目のものは3番目の8進数と同じになります。ここでは、666の最終的な8進数値があります。

それでは、別の方法で試してみましょう。755が表す権限を知りたいとしましょう。さて、それを個々の数字で分類すると、非常に簡単に理解できます。最初の数値は7です。これは、4 + 2 + 1を追加することによってのみ取得できます。これは、所有者が読み取り/書き込み/実行のアクセス許可を持っていることを意味します。5は、4 + 1を追加することによってのみ取得できます。つまり、グループおよび他のユーザーは、読み取りおよび実行のアクセス許可を持っています。

うまくいけば(Hopefully)、それは8進数を使用してLinuxでパーミッションを表す方法の良い説明です。全体的にはかなり簡単です。

chmodを使用して権限を変更する

権限の読み取り方法を理解したので、権限を変更する方法について説明しましょう。この目的で使用する最も簡単なユーティリティは、chmodコマンドです。仕組みは次のとおりです。コマンドを説明する最良の方法は、例を確認することです。

上記で説明した権限から始めましょう。つまり、次のようになります。

-rw-rw-rw-

所有者、グループ、その他の実行権限を追加する場合は、2つの方法で実行できます。シンボル法または8進法を使用できます。シンボルメソッドの場合、以下に示すように、次のようにします。

正確なコマンドは

chmod a+x filename

構文は次のとおりです。所有者(u)、グループ(g)、そ​​の他(o)、またはすべて(a)を表す1つまたは複数の文字の後に、アクセス許可を追加する場合は +、権限(読み取りの場合はr、書き込みの場合はw 、実行の場合は(w)x)。

上記の例では、すべてのユーザーに実行権限を追加しました。上のスクリーンショットでわかるように、結果は所有者、グループ、その他のxになります。(x)ここで、グループと他のユーザーのみの書き込みおよび実行権限を削除したいとします。

ここでわかるように、私はこれを達成するために次のコマンドを使用しました。

chmod go-wx filename

グループなどの権限を変更したいので、文字gと文字oを使用します。権限を削除したいので、記号を使用します。最後に、書き込みと実行のアクセス許可を削除したいので、wxを使用します。シンボルの使用法に関する便利な小さな表を次に示します。

シンボルメソッドを使用する方法はこれですべてです。それでは、8進法について話しましょう。これは、少し簡単だと思います。パーミッションを一度に追加または削除できるため、Octalは便利です。(Octal)

ファイルに対して次のアクセス許可から始める場合は、8進数の方法を使用してそれらを変更する方法を見てみましょう。

-rw-rw-rw-

上記(Above)では、次のコマンドを使用したことがわかります。

chmod 744 filename

これは基本的に、所有者が読み取り/書き込み/実行権限を取得し、グループおよびその他が読み取り権限のみを取得することを意味します。ご覧のとおり、1つの簡単なコマンドで権限を追加または削除するのは簡単です。続けて、権限をもう一度変更したいと言いましょう。

ここで、次のコマンドを使用しました。これも非常に単純なコマンドです。

chmod 640 filename

ここでは、所有者に読み取り/書き込み権限を付与し、グループには読み取り権限のみを付与し、他のグループには権限を付与していません。権限がないことを示すには、ゼロを使用します。とても簡単ですね

結論として、これはLinuxのアクセス許可の非常に単純な概要であり、これよりもはるかに複雑になる可能性がありますが、初心者にとっては、始めるのに適した場所です。将来的には、より高度な権限に関する記事をさらに投稿する予定です。ご不明な点がございましたら、お気軽にコメントください。楽しみ!



About the author

私は、ソフトウェア業界で 10 年以上の経験を持つ、推奨される Windows 10 の専門家です。私は Explorer と Office 365 の両方の専門知識を持っており、特にユーザーの個人設定と外観設定に熟練しています。私のスキルは、オンライン レビューを通じて優れた顧客サービスを提供し、AI などのテクノロジを活用してサポートを改善するという私のビジネスの中心にあります。



Related posts