Linux
 Computer >> コンピューター >  >> システム >> Linux

Linuxでファイルのパーミッションを再帰的に変更する方法

Linuxでファイルのパーミッションを再帰的に変更する方法

Linuxはマルチユーザーオペレーティングシステムであるため、ファイルのアクセス許可を設定および管理して、許可されたプロセスとユーザーのみがさまざまなディレクトリとファイルにアクセスできるようにするメカニズムがあります。 Linuxを使用していると、必要な権限がないことを示す「権限が拒否されました」エラーが原因でファイルやディレクトリを編集できないさまざまなインスタンスが発生する可能性があります。このチュートリアルでは、Linuxでファイルのアクセス許可を再帰的に変更して、アクセス許可の設定がサブフォルダーとファイルに適用されるようにする方法を説明します。

Linuxでファイルのパーミッションを確認する方法

ファイルまたはディレクトリの操作で「アクセス許可が拒否されました」エラーが発生した場合は、ユーザー、グループ、その他に割り当てられたアクセス許可を確認することから始めます。

これを行うには、ls -lを使用できます 指図。たとえば、以下は「/var」ディレクトリ内のさまざまなファイルとディレクトリに対する権限です。

Linuxでファイルのパーミッションを再帰的に変更する方法

上記の出力には特定の情報が含まれています。

  1. 最初の列は、ファイルとディレクトリのアクセス許可を表します。この列の最初の文字は、タイプを示します:d ディレクトリ、lを意味します シンボリックリンクを表し、- 通常のファイル。
  2. 他の9文字は、次の3つのセットにグループ化されます:u ユーザー、 g グループ、およびo 所有者は、ファイルまたはディレクトリのアクセス許可を示します。 r 「読み取り」権限を示します、w 「書き込み」権限を示し、X 「実行」権限を示します。
Linuxでファイルのパーミッションを再帰的に変更する方法

作業ディレクトリまたはファイルのファイル権限がわかれば、簡単に変更できます。

chmodを使用してファイルのパーミッションを変更する方法

chmod コマンドは、Linuxでファイルのパーミッションを変更する最も簡単な方法です。コマンドの一般的な構文は次のとおりです。

chmod {permission}{operator}{mode}
  • 権限:これは、ユーザー、グループ、所有者、またはすべてに与えられた権限を表します。
  • オペレーター:これは、権限の譲受人に付与された権限を示します:+ 権限を付与します、- 権限を拒否し、= 設定する権限を指定します。
  • モード:これにより、設定する権限が決まります:r 読む、w 書き込み、またはx 実行します。

chmodの詳細については とその仕組みについては、この記事をご覧ください。

たとえば、「/ var」ディレクトリ内のバックアップディレクトリへのすべての書き込みアクセスを拒否するには、次のコマンドを使用できます。

 sudo chmod -w /var/backups

chmodを使用してファイルのアクセス許可を変更しますが コマンドは有効で、指定したディレクトリまたはファイルのファイル権限のみを変更します。

幸い、ディレクトリまたはファイルとそのサブディレクトリおよびファイルのファイル権限を再帰的に変更できます。これを行うには、chmodコマンドを再帰的に使用します-r オプション。

たとえば、readを再帰的に削除しましょう 「/var/backup」ディレクトリとそのすべてのファイルおよびサブディレクトリに対する権限。現在の権限は次のとおりです:

drwxrwxrwx  2 root root   4096 Jul 15 06:25 backups

それでは、chmodを実行してみましょう。 権限を再帰的に変更するには:

sudo chmod –r -r /var/backups

これで、ファイルのアクセス許可が変更されたことがわかります。

Linuxでファイルのパーミッションを再帰的に変更する方法

findを使用した再帰的な変更権限

通常、同様の権限を持つファイルとディレクトリを設定することはありません。これは、cdを実行するために実行権限が必要なためです。 特定のディレクトリに。ただし、ほとんどのファイルにはこの実行権限は必要ありません。

これを克服するには、findを使用できます Linuxのユーティリティ。これにより、特定のファイルまたはディレクトリのみを検索し、それらに権限を設定できます。

Linuxでの検索の使用の詳細については、この記事を確認してください。

「/var/log」ディレクトリを見てみましょう。ディレクトリには、ファイルとディレクトリの両方が含まれています。

Linuxでファイルのパーミッションを再帰的に変更する方法

ファイルにのみ特定の権限を設定するには、-type fでfindコマンドを使用できます オプション。

以下のコマンド例を参照してください:

sudo find /var/log/ -type f -exec chmod 777 {} ;

上記の例では、findコマンドを使用して「/ var / log」ディレクトリでファイルを検索し、ユーザー、グループ、およびすべてのユーザー、書き込み、および実行のアクセス許可を設定しました。

ディレクトリについても同じことができます。この場合、-type d を指定します ディレクトリのみを取得します。

例:

sudo find /var/log/ -type d -exec chmod 755 {} ;

上記の例では、権限755をディレクトリにのみ設定し、ファイルとディレクトリの両方には設定していません。

これは、ls -laを使用して確認できます。 コマンド。

Linuxでファイルのパーミッションを再帰的に変更する方法

すべてのファイルに777のアクセス許可があり、ディレクトリには755のアクセス許可があることに気付くでしょう。

締めくくり

Linuxでファイルのアクセス許可を変更する方法を知ることは、さまざまなファイルやディレクトリへの不正アクセスや変更を防ぐのに役立つため、不可欠なスキルです。一方、ファイルの所有権を変更してファイルアクセスを制限したり、amアクセス制御リストを使用してLinuxでファイルのアクセス許可をさらに細かく制御したりすることもできます。


  1. Windows 10 でファイルのアクセス許可を変更する方法

    さまざまな理由で、PC を多くの人と共有する必要がある場合があります。 Windows 10 は、システム レベルですべてのファイル アクセス許可を提供および管理します。あなたのデータを他のユーザーから保護します。 Windows 10 PC では、ユーザーが作成したファイルは既定ですぐにアクセスできます。 Windows 10 のファイル アクセス許可を変更できます。管理者は、他のユーザーが自分のファイルのみを編集できるように制限します。ファイルのパーミッションは簡単に変更できます。この記事では、Windows 10 でファイルのアクセス許可を変更する方法を説明する役立つガイドを紹介します。

  2. Linux でファイルを完全に削除する方法

    Linux オペレーティング システムでは、削除されたファイルはゴミ箱に移動します。ゴミ箱を空にすると、ファイルはシステムから削除されます。ただし、回復ソフトウェアの需要が高まるにつれて、ゴミ箱から削除されたファイルはある程度まで回復できます。これは、ゴミ箱から削除されたファイルが完全に削除されることはなく、目に見えなくなったことを意味します。ファイルはまだハード ドライブのどこかに不必要なスペースを占有しており、新しいファイルが作成されてハード ドライブの同じセクターに保存されたときにのみ完全に削除されます。貴重なディスク スペースを回復し、ファイルの破損を回避するには、Linux 内のファ