パーミッションの設定方法に関して教えて下さい。使用OSはLinuxになります。


やりたいことは、とあるディレクトリ以下に、かなりの量のWebコンテンツがあるのですが、現在、全てのディレクトリ及びファイルが0777という権限になっております。それを、なるべく手間のかからない方法で、ファイル群は0400、ディレクトリ群は0500にしたいのですが、どのようにすれば宜しいでしょうか。

回答の条件
  • 1人1回まで
  • 登録:2009/11/12 14:17:35
  • 終了:2009/11/19 14:20:03

回答(5件)

id:hato0013 No.1

hato0013回答回数20ベストアンサー獲得回数62009/11/12 14:27:10

ポイント40pt

http://d.hatena.ne.jp/yumatsumo/20070516

findを使うと楽に実現できるんだと思います。

# ファイル
find 対象のルートディレクトリ -type f -exec chmod 0400 {} \;

# ディレクトリ
find 対象のルートディレクトリ -type d -exec chmod 0500 {} \;
id:yas-mal No.3

yas-mal回答回数199ベストアンサー獲得回数42009/11/12 14:37:59

ポイント40pt

そのディレクトリ直下のファイル/ディレクトリのみでいいのでしょうか?

それなら、以下のようになると思います。

ls -F [ディレクトリパス]|grep -v /|xargs chmod 400

ls -F [ディレクトリパス]|grep /|xargs chmod 500

もし、ディレクトリ直下だけでなく、さらに深いディレクトリまでたどりたいのでしたら、以下のようになります。

find [ディレクトリパス] -type f|xargs chmod 400

find [ディレクトリパス] -type d|xargs chmod 500

id:b-wind No.4

b-wind回答回数3344ベストアンサー獲得回数4402009/11/12 18:00:55

ポイント10pt
#/bin/sh

find /path/to/target -type f -print0 | xargs -0 chmod 400
find /path/to/target -type d -print0 | xargs -0 chmod 500

まぁ既存の回答と大して変わらないが、イレギュラーなファイル名が

含まれている場合にこちらのほうが安全ではある。

質問者が未読の回答一覧

 回答者回答受取ベストアンサー回答時間
1 paxil 375 320 2 2009-11-12 21:35:31

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません