[mac] 特定ディレクトリ&中身のパーミッションを一括変更
![]()
訳あって、windowsマシンのxampp内に置いてあったサイトのファイル一式をmac内に移動。
んで、ブラウザでhttp://localhost/hoge/… にアクセスすると、Access Denied云々とか言われて閲覧できません。問題のディレクトリ&以下のファイルを「共有とアクセス権」を調べてみると、確かに「アクセス禁止」になっています。なんだこりゃ!
天文学的な量のファイルのパーミッションをfinderで手動変更とか…ダルいっす。
コマンドでサクッと一括変更できませんかねー。
はい調べました。
手順
1.「ルート」ユーザを有効にする
ここはGUI操作で設定できます。
Mac OS X で「ルート」ユーザを有効にして使用する
ルートユーザを有効にする方法
Mac OS X v10.6 以降
- アップルメニューから「システム環境設定」を選択します。
- 「表示」メニューから「アカウント」を選択します。
- 鍵アイコンをクリックし、管理者アカウントで認証します。
- 「ログインオプション」をクリックします。
- 右下の「接続」ボタンをクリックします。
- 「ディレクトリユーティリティを開く」をクリックします。
- 「ディレクトリユーティリティ」ウインドウの鍵アイコンをクリックします。
- 管理者アカウント名とパスワードを入力し、「OK」をクリックします。
- 「編集」メニューから「ルートユーザを有効にする」を選択します。
- 使用するルートパスワードをパスワードフィールドとその確認用フィールドに入力し、「OK」をクリックします。
2.ターミナルでガツッと変更
以下のページを参考にさせていただきました。
ファイルのパーミッション一括変更 | おもむくがままに
問題のディレクトリまで移動(※hogeは読替で)
[php]
$ cd /Applications/XAMPP/xamppfiles/htdocs/hoge/
[/php]
んで、全拡張子変更。
[php]
$ find . -regex “.*.*” -exec chmod 755 ‘{}’ \;
[/php]
注) 冒頭の$はもともとターミナルに表記されているので打ち込む必要なし
まとめ
とまあ、これで無事パーミッション変更完了。問題なく閲覧できるようになりました。
が、手順としてはこれで問題ないのでしょーか??
ツッコミ希望。






























全ファイルなら、いちいちfindなんて面倒くさくない?
chmodコマンドの-Rオプションでディレクトリ以下を再帰的に変えちゃった方がいいのかねえ。
# chmod -R 775 [変えたいディレクトリ]
の方がラクチン。
拡張子指定したいならfindなんだろうけど。
なんてね。