目次:
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
。