GNU/Linux >> Linux の 問題 >  >> Linux

基本的なLinuxディレクトリのアクセス許可とその確認方法

この記事では、ディレクトリ権限の基本的な種類、それらの機能、およびそれらを確認する方法について説明します。

ディレクトリのアクセス許可とは何ですか、またどのように適用しますか?

Linux®では、ディレクトリはファイルを保存するフォルダです。各ファイルまたはディレクトリは、それらにアクセスできるユーザーを指定します。この記事では、権限を設定し、場合によってはそれらを上書きする方法について説明します。

オーバーライドの例:

  • chrooted / jailedの場合 ユーザーの場合、投獄されているファイルまたはディレクトリにのみアクセスできます。
  • sudo / rootがある場合 レベルの権限。ファイルまたはディレクトリの権限をバイパスできます。
ファイルとディレクトリを一覧表示

このセクションには、Linuxリスト操作の例が含まれています。

  • ファイルとディレクトリの名前のみをリストします:

    # ls
    
  • より多くの情報を含むファイルとディレクトリを一覧表示します:

    # ls -l
    # ll
    
  • ファイルとディレクトリを一覧表示し、すべての隠しファイルを表示します:

    # ls -a
    

    注: 隠しファイルは、多くの場合、システムがそれらを安全に保つために非表示にする構成ファイルです。

  • より多くの情報と、ビットではなくKBまたはGBのサイズでファイルとディレクトリを一覧表示します。

    # ls -lh
    
結果を理解する

-lを使用する場合 、各ファイルまたはディレクトリから次の情報が得られます。

drwxr-xr-x。 jdoe apache 3864 2021年5月8日 MyStuff
権限 ユーザー所有者 グループ所有者 ビット単位のサイズ。 -hを使用してKB/GBに変換します 最後に編集された日時 名前

許可に関する注意 dがある場合 最初は、ファイルではなくディレクトリです。

lsの使用方法に関するより詳細なガイドは次のとおりです。 コマンド。

ユーザー、グループ、その他

各ファイルとディレクトリには、認識される3種類のユーザー権限があります。

  • ユーザー所有者として設定されているユーザー 。
  • グループ所有者として設定されているグループ内のすべてのユーザー 。
  • 最初の2つのカテゴリに含まれない人は、その他と呼ばれます。 。

Linuxサーバーの一般的なグループはapacheです。 、そのため、Webサイトで作業している人をapacheに追加できます。 グループ。その後、すべてのWebサイト関連のファイルとディレクトリに必要なアクセス権を持ちます。

  • ファイルまたはディレクトリのユーザー所有者を変更します:

    # chown <user>: /MyStuff
    
  • ファイルまたはディレクトリのグループ所有者を変更します:

    # chown :<group> /MyStuff
    
  • ファイルまたはディレクトリのユーザー所有者+グループ所有者を変更します:

    # chown <user>:<group> /MyStuff
    
  • ファイルまたはディレクトリとその中のすべてのユーザー所有者とグループ所有者を変更します:

    重要: 元に戻すオプションなしで複数のファイルを変更するため、このコマンドには注意してください。

    # chown -R <user>:<group> /MyStuff
    

読み取り、書き込み、実行

ファイルまたはディレクトリがユーザーをユーザー所有者、グループ所有者、またはその他として認識した後、次の権限の組み合わせを割り当てます。

  • r :読み取り権限を使用すると、ファイルまたはディレクトリを表示または読み取ることができます。
  • w :書き込み権限を使用すると、ファイルまたはディレクトリを書き込みまたは変更できます。
  • x :実行権限を使用すると、実行可能ファイルを実行したり、ディレクトリを検索したりできます。

各ユーザー権限には、これらが順番に割り当てられます。ここで、- その許可がないことを表します。たとえば、次の表は、許可 rwxr-xr–を説明しています。 :

rwx r-x r-
最初の部分、ユーザー所有者の権限 2番目の部分、グループ所有者の権限 3番目の部分、その他の権限
読み取り、書き込み、実行 読み取り、実行 読む
このユーザーは何でもできます このユーザーはファイルを確認して実行できます。ただし、変更しないでください このユーザーはそれしか見ることができません

次の画像は、これを視覚化する簡単な方法を提供します。

文字で権限を変更する方法
  • ファイルまたはディレクトリのアクセス許可を変更する:

    # chmod ugo+-=rwx /MyStuff
    
    • ugoの任意の組み合わせを使用します ユーザー、グループ、その他を表すため。
    • +-=の任意の組み合わせを使用します 現在の権限を指定された権限に追加、削除、または変更することを表します。
    • rwxの任意の組み合わせを使用します 読み取り、書き込み、実行を表します。
  • 読む その他への権限 :

    # chmod o+r /MyStuff
    
  • 変更して実行を削除します グループおよびその他の権限 :

    # chmod go-wx /MyStuff
    

次のグラフは、この概念を説明するのに役立ちます。

u user + r read
gグループ - w書き込み
その他 = x実行

注: chmod -Rも使用できます そのディレクトリ内のすべてのファイルとディレクトリを再帰的に変更します。前と同じように、元に戻すオプションがないため、注意して続行してください。

番号で権限を変更する方法
  • ファイルまたはディレクトリのアクセス許可を変更する:

    # chmod 777 /MyStuff
    

この方法では、数学を使用して、各権限の値を合計し、最終的な3桁の結果を生成します。

uユーザー gグループ その他
r read =4
write =2
x execute =1
  • rwxr-xr–を与える 権限:
uユーザー gグループ その他
r read =4
write =2
x execute =1
4 + 2 + 1 = 7 4 + 1 = 5 4

次のコマンドを使用します:

# chmod 754 /MyStuff

注: chmod -Rも使用できます そのディレクトリ内のすべてのファイルとディレクトリを再帰的に変更します。前と同じように、元に戻すオプションがないため、注意して続行してください。

chmodの使用方法に関するより詳細なガイドは次のとおりです

警告: chmod 777は使用しないでください あなたが前向きでない限り、それは大丈夫です。 Linuxは、デフォルトで強力なセキュリティ対策を講じています。ただし、一部の構成ファイルは、だれもが変更することを意図したものではありません。これらは、コンピューターまたはサーバーの基本機能を有効にするファウンディングファイルです。たとえば、電源を入れてユーザーがログインできるようにする方法を決定します。777に設定されている場合、コンピュータまたはサーバーはハッキングされたと見なし、すべてをシャットダウンします 。その場合、ログインできず、デバイスの電源を入れることができず、取得できません。これはサーバーを完全に破壊する非常に簡単な方法なので、chmodを使用します 注意してください。

練習方法
  • ディレクトリを作成します:

    # mkdir /MyStuff
    

その後、ls -lを自由に実行できます 、chown 、およびchmod この空のディレクトリを好きなだけ。終わったら、自分で片付けます。

  • ディレクトリを削除します:

    # rmdir /MyStuff
    
より高度なシナリオ

ここで探索するいくつかのシナリオ:

シナリオ1

ユーザーjdoe 特定のディレクトリにアクセスする必要があります。ただし、ユーザー所有者とグループ所有者をそのままにしておく必要があります。

オプション:

  • グループにjdoeを追加する ディレクトリを所有しています。これにより、jdoeが得られます そのグループが所有する他のすべてのファイルまたはディレクトリへのアクセス。
  • 「その他」にさらに多くの権限を与える そのディレクトリに。これにより、コンピュータまたはサーバー上の他のすべてのユーザーにアクセスできるようになります。
  • jdoe sudoを与える 権限。 jdoe sudoを使用できます 個々のファイルまたはディレクトリのアクセス許可を上書きします。ただし、「jdoe」には、コンピュータまたはサーバー上のすべてのものにアクセスするための管理者権限があります。
シナリオ2

開発者が/etcを変更したい そしてその中のすべてを777 権限。

回答:教えない

多くのシステムファイルが壊れて、サーバー全体がダウンする可能性があります。 。代わりに、どのファイルまたはディレクトリにアクセスするのか、どのタイプのアクセスが必要なのかを具体的に尋ねてください。

Linuxファイルのパーミッションを理解するためのより詳細なガイドは次のとおりです

シナリオ3

t s S +: ls -lを実行した場合 tsSまたは+を含む権限を確認してください 、先に進まないでください。

これらは、SUID、スティッキービット、ACLなどのより高度なファイルとディレクトリのアクセス許可です。これらはより複雑ですが、通常のchmodで完全にオーバーライドできます。 コマンド。

コメントや質問をするには、[フィードバック]タブを使用します。私たちと会話を始めることもできます。


Linux
  1. Linuxでホームディレクトリのユーザーアカウントを削除する方法

  2. Linuxでユーザーパスワードの有効期限とエージングを管理する方法

  3. OSとLinuxのバージョンを確認する方法

  1. Linuxのchmodとchown–Linuxでファイルのパーミッションと所有権を変更する方法

  2. Linuxでユーザーグループを作成および削除する方法

  3. Linuxでディレクトリとフォルダを削除する方法は?

  1. Linuxでユーザーをロックおよびロック解除する方法

  2. Linux でファイルとディレクトリのアクセス許可/所有権を管理する方法

  3. Linux インタビューの質問 – 基本的なファイルとディレクトリのアクセス許可