アンドロイド

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

目次:

Anonim

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

ファイル許可の詳細については、「LinuxのUmaskコマンド」を参照してください。

、ファイルとディレクトリのパーミッションを再帰的に変更する方法を説明します。

Chmod再帰

chmod コマンドを使用すると、シンボリックモードまたは数値モードを使用してファイルの権限を変更できます。

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

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 コマンドに渡して、許可を設定します。

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

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

結論

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

タイプに基づいてファイルのパーミッションを再帰的に設定するには、 chmod find コマンドと組み合わせて使用​​し find

chmod端末