私は開発マシンをアップグレードし、開発中のウェブサイトを移動しました。ところで、権限が正しく渡されないようです。開発システムは、すべてのフォルダとサブフォルダが755に設定され、すべてのサブフォルダ内のすべてのファイルとファイルが644に設定されているApacheを実行するLinuxシステムです。
代わりに、次のコマンドを実行する必要があります。
修正 755
修正 644
各ファイルとフォルダを個別に実行せずにこれを実行するより高速な方法はありますか?
答え1
ファイルの場合:
find -type f -exec chmod 0644 {} \;
ディレクトリの場合:
find -type d -exec chmod 0755 {} \;
答え2
誰もがこのファイルを読むことができないことが問題の場合:
chmod -R a+rX /var/www
(大文字の使用に注意してくださいX
。これは、少なくとも1人のユーザーが実行できるディレクトリとファイルのみを実行できることを意味します。)
所有者以外のユーザーがファイルを書き込めることが問題の場合:
chmod -R go-w /var/www
問題は、ファイルが実行可能であり、実行可能ファイルが必要ないということです。chmod -R a-x
ディレクトリは実行可能なままである必要があるため、そうしません(ディレクトリの実行権限はそのファイルにアクセスできるかどうかを制御します)。 。もう少し見分けが必要です。 zshでは、サブディレクトリに回帰する構文をchmod a-x /var/www/**/*(.)
使用して実行できます。**/
.
グローバル予選通常のファイルのみが一致します。すべてのシェルで次のものを使用できますfind
。
find /var/www -type f -exec chmod a-x {} +