• ベストアンサー

ディレクトリ内すべてのファイルのアクセス権を変更したいです。

FedoraCore3を使っています。 GUIのファイルブラウザにて右クリック→プロパティ→アクセス権の変更を行っています。 選択したファイル・ディレクトリは変更できますが、選択したディレクトリの下の階層は変更できません。 選択したディレクトリの以下の階層すべてを変更するにはどのようにすればよいのでしょうか。 GUIの操作でもCUIコマンド操作でもかまいません。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • jikenjp
  • ベストアンサー率38% (5/13)
回答No.3

こんにちは。私は、こんなやりかたすきです。 chmod 644 `find ./* -type f -print` 皆さん御存じかと、おもいますが、もし、ご存じない方のために 644 : 自分以外 "リード権だけ" ` : バッククォテーション find の -type f は、通常ファイル(自分の階層以下全部) けれど、これだと、実行権つきファイルも変更されるよ!

wipe
質問者

お礼

回答ありがとうございます。 お礼が送れてスイマセン。 恥ずかしながらバッククォーテーションのタイプが出来ませんでした。 「ね」のキーのところだと思うのですが... 追って確認したいと思います。 本当にありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (7)

  • jikenjp
  • ベストアンサー率38% (5/13)
回答No.8

こんにちは、わたし、ここで解答させて戴いてから、さて、実行結果も一気に見たいなと思ってやってみたら、一時間で解決せず、質問(始めて)したら、三人目のかた、素晴らしい方が、下記のような、解答くれました。ご参考までに。(コマンドの連続実行です) chmod 777 `find ./* -type f -print` && ls -l ./* です。 (これ、"chmod" が 成功したときだけ、"&&" の後が実行されます。)

wipe
質問者

お礼

ありがとうございます。 No.1979437の質問も見させてもらいました。 私には理解しがたいところもありますが、参考になりました。  http://oshiete1.goo.ne.jp/kotaeru.php3?q=1979437 これからお世話になるかもしれません。 よろしくお願いします。

すると、全ての回答が全文表示されます。
回答No.7

Unix を使うのであればマニュアルを読む習慣をつけると良いでしょう :)。 $ man find (中略)  -type c    c で表されるタイプのファイルならば真。 c としては以下がある:    b ブロックスペシャルファイル (バッファ付き)    c キャラクタスペシャルファイル (バッファ無し)    d ディレクトリ    p 名前付きパイプ (FIFO)    f 通常のファイル    l シンボリックリンク    s ソケット 普通は f, d くらい覚えておけば十分ですけどね。

wipe
質問者

お礼

何度も回答ありがとうございます。 fとdの違いについて分かりました。ありがとうございます。 -execなど他にも分からないコマンドオプションもありますが、 マニュアルを参照し理解したいと思います。 コマンドに関する回答だけでなく、 Unix(Linux)における姿勢までアドバイスをいただきありがとうございました。 何事においてもマニュアルを読まずに初めてしまうタイプなので 私にとり良いアドバイスだったと思います。 ありがとうございました。

すると、全ての回答が全文表示されます。
  • jikenjp
  • ベストアンサー率38% (5/13)
回答No.6

>wipe さん、こんにちは、この位返事送れたの、送れたうちに入らないから、ジェンジェンだいじょぶー。 "`(バックククォーテーション)" は、それがしのマシンでは、"@" の上だよーん。 それから "f" と "d" ですが、 f: 通常ファイル d: ディレクトリー です。 (おまけ、"ね" の上のやつ、それがし一度も使ったことないら)

wipe
質問者

お礼

かさねがさねの回答ありがとうございます。 バッククオーテーションの件、確認いたしました。 fとdの違いも確認できました。 稀少な質問には回答が少ないので期待していなかったのですが、 多くの回答を受け非常にうれしく思います。 初心者ゆえまたお世話になるかもしれません。 そのせつはまたよろしくお願いします。 ありがとうございました。

すると、全ての回答が全文表示されます。
  • jikenjp
  • ベストアンサー率38% (5/13)
回答No.5

>hetarepyon樣 、こんにちは、(それがし、質問者ではありませぬー)。 "-exec" オプションってよさげなので、今後、使わせて戴きます。ありがとうございました。 hetarepyon樣 の前に解答させていただいた、つまらないものです。

wipe
質問者

補足

いろいろな回答を頂いている中、質問者がレス無しで申し訳ありませんでした。 思いのほか回答をいただき嬉しく思います。 やはりGUIを使っていてはまだまだですね。。。

すると、全ての回答が全文表示されます。
回答No.4

では、私も :)。 $ find dir -type f -exec chmod 644 {} \; $ find dir -type d -exec chmod 755 {} \; 1 つ目が dir 以下の全てのファイルを 644 に、2つ目が同じく dir 以下の全てのディレクトリを 755 にします。

wipe
質問者

お礼

回答ありがとうございます。お礼が送れてスイマセン。 初心者なもので簡単な補足要求で申し訳ありません。 コマンド実行にてご説明通りの確認ができましたが、 fとdを変えてみて実行しても違いがわかりませんでした。 ベテランの方でも使えるとの評でしたので覚えておきたいのですが、意味も分からず覚えるのではすぐ忘れてしましそうなので...おねがいします。 回答、本当にありがとうございました。

wipe
質問者

補足

コマンドのfとdの違いは何でしょうか? また{} \;も何をしているのでしょうか? ご説明お願いします。

すると、全ての回答が全文表示されます。
  • suzukika
  • ベストアンサー率28% (8/28)
回答No.2

こんにちは ディレクトリの以下の階層すべてを変更するには CUIで chmod +x -R folder/ でOKだと思います +xは実行 権限を追加する意味です。 実際どういう変更がしたいのかわかりませんが、その部分を変更すればOKだと思います。

参考URL:
http://www.tokaido.co.jp/syoko/handyman/chmod.html
wipe
質問者

お礼

回答ありがとうございます。 お礼が送れてスイマセン。 No1の回答では直接数値(777)を入れ出来ましたが、 このようなやりかたもあるのですね。 応用で-xとか+Wなどの使い方も分かり参考になりました。 実際の変更は744→777にしたかったのです。 所有者以外で変更できなかったのが問題でした。 本当にありがとうございました。

すると、全ての回答が全文表示されます。
回答No.1

%chmod -R Dir 詳細は参照URLを見てください。 (もしくは、man chmod)

参考URL:
http://www.linux.or.jp/JM/html/gnumaniak/man1/chmod.1.html
wipe
質問者

お礼

回答ありがとうございます。 お礼が送れてスイマセン。 変更できました。ありがとうございました。 manの説明は分かりにくかったです。 分かっている人には良いマニュアルかもしれませんが、 素人には分かりにくいときがあります。 やはり人から教えてもらうとわかりやすいです。 本当にありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A