膨大な数のディレクトリのパーミッションを書き換えないといけない業務が発生。
手作業だと辛いので、コンソールからコマンドで実行する。若干検索に手間取ったので記録しておく。主にこのサイトを参考にさせてもらった。
https://eng-entrance.com/linux-command-find
対象ディレクトリの確認
今回はディレクトリの一部でパーミッションの設定が危ういものがある可能性があったので、まずは実態を確認する。
ウェブサイトが格納されているディレクトリトップに移動して、findコマンドを実行する。
find . -type d -perm 777 -print
再帰的に検索するために、オプションを指定する。-type dでディレクトリ限定にし、-perm 777はパーミッション777に絞っている。
対象ディレクトリのパーミッション書き換え
実態が分かったところで、パーミッションの書き換えを一括で行う。
下層を一括で処理して大丈夫なディレクトリまで移動し、chmodコマンドを使う。
find . -type d -print | xargs chmod 705
一括処理したかったので、findコマンドで得た結果をパイプを通してxargsコマンドを使い、順番にコマンドラインで処理していく。