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

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

Linuxをメインオペレーティングシステムとして使用している場合、またはLinuxサーバーを管理している場合、ファイルを作成または編集しようとすると、「アクセス許可の拒否」エラーが発生する状況が発生します。通常、不十分なアクセス許可に関連するエラーは、正しいファイルのアクセス許可または所有権を設定することで解決できます。

Linuxはマルチユーザーシステムであり、ファイルへのアクセスは、ファイルのアクセス許可、属性、および所有権によって制御されます。これにより、許可されたユーザーとプロセスのみがファイルとディレクトリにアクセスできるようになります。

ファイルパーミッションの詳細については、「LinuxのUmaskコマンド」を参照してください。

この記事では、ファイルとディレクトリのアクセス許可を再帰的に変更する方法について説明します。

Chmod Recursive#

chmod コマンドを使用すると、記号モードまたは数値モードを使用してファイルのアクセス許可を変更できます。

特定のディレクトリの下にあるすべてのファイルとディレクトリを再帰的に操作するには、chmodを使用します -Rを使用したコマンド 、(--recursive ) オプション。ファイルの権限を再帰的に変更するための一般的な構文は次のとおりです。

chmod -R MODE DIRECTORY

たとえば、/var/www/htmlの下にあるすべてのファイルとサブディレクトリの権限を変更するには 755へのディレクトリ 使用するもの:

chmod -R 755 /var/www/html

モードは、シンボリックメソッドを使用して指定することもできます:

chmod -R u=rwx,go=rx /var/www/html

root、ファイル所有者、またはsudoを持つユーザーのみ 特権はファイルのパーミッションを変更できます。ファイルのアクセス許可を再帰的に変更する場合は、特に注意してください。

findの使用 コマンド#

一般に、ファイルとディレクトリは同じ権限を持つべきではありません。ほとんどのファイルは実行権限を必要としませんが、ディレクトリに変更するには、ディレクトリに実行権限を設定する必要があります。

最も一般的なシナリオは、Webサイトファイルのアクセス許可を644に再帰的に変更することです。 およびディレクトリの755へのアクセス許可 。

数値的方法の使用:

find /var/www/html -type d -exec chmod 755 {} \;find /var/www/html -type f -exec chmod 644 {} \;

シンボリックメソッドの使用:

find /var/www/html -type d -exec chmod u=rwx,go=rx {} \;find /var/www/html -type f -exec chmod u=rw,go=r {} \;

find コマンドは、/var/www/htmlの下のファイルまたはディレクトリを検索します 見つかった各ファイルまたはディレクトリをchmodに渡します 権限を設定するコマンド。

findを使用する場合 -execを使用 、chmod 見つかったエントリごとにコマンドが実行されます。 xargsを使用する 複数のエントリを一度に渡すことで操作を高速化するコマンド:

find /var/www/html -type d -print0 | xargs -0 chmod 755 find /var/www/html -type f -print0 | xargs -0 chmod 644

結論#

chmod -Rを使用したコマンド オプションを使用すると、ファイルの権限を再帰的に変更できます。

タイプに基づいてファイルのアクセス許可を再帰的に設定するには、chmodを使用します findと組み合わせて コマンド。

ご質問やご意見がございましたら、お気軽にコメントをお寄せください。


Linux
  1. Linux端末の色を変更する方法

  2. ファイルとフォルダーのアクセス許可を変更する方法を学ぶ

  3. Linuxでchmod(モード変更)コマンドを使用する方法

  1. LinuxシステムのIDを変更する方法

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

  3. Linux でデフォルトのシェルを変更する方法

  1. Linuxでchmodを使用してファイルパーミッションを再帰的に変更する方法

  2. Linuxcdコマンドを使用してディレクトリを変更する方法

  3. WWW フォルダに Linux のアクセス許可を設定するにはどうすればよいですか?