GNU/Linux >> Linux の 問題 >  >> Linux

再帰的にchmod

X で chmod を使用できます モード文字 (大文字の X) を使用して、ディレクトリのみに実行可能フラグを設定します。

以下の例では、実行可能フラグがクリアされ、すべてのディレクトリに対して再帰的に設定されます:

~$ mkdir foo
~$ mkdir foo/bar
~$ mkdir foo/baz
~$ touch foo/x
~$ touch foo/y

~$ chmod -R go-X foo 
~$ ls -l foo
total 8
drwxrw-r-- 2 wq wq 4096 Nov 14 15:31 bar
drwxrw-r-- 2 wq wq 4096 Nov 14 15:31 baz
-rw-rw-r-- 1 wq wq    0 Nov 14 15:31 x
-rw-rw-r-- 1 wq wq    0 Nov 14 15:31 y

~$ chmod -R go+X foo 
~$ ls -l foo
total 8
drwxrwxr-x 2 wq wq 4096 Nov 14 15:31 bar
drwxrwxr-x 2 wq wq 4096 Nov 14 15:31 baz
-rw-rw-r-- 1 wq wq    0 Nov 14 15:31 x
-rw-rw-r-- 1 wq wq    0 Nov 14 15:31 y

少し説明:

  • chmod -x foo - 実行可能ファイルをクリアします foo のフラグ
  • chmod +x foo - eXecutable を設定します foo のフラグ
  • chmod go+x foo - 上記と同じですが、Group のみにフラグを設定します およびその他 User には触れないでください (所有者) 許可
  • chmod go+X foo - 上記と同じですが、ディレクトリにのみ適用されます。ファイルには触れないでください
  • chmod -R go+X foo - 上記と同じですが、これを再帰的に行います foo のすべてのサブディレクトリ

ディレクトリを一覧表示するには、実行アクセス権に加えて読み取りアクセス権が必要です。実行アクセスしかない場合は、ディレクトリ内のエントリの名前を見つけることができますが、他の情報はわかりません (タイプでさえないため、どのエントリがサブディレクトリであるかはわかりません)。これは私にとってはうまくいきます:

find . -type d -exec chmod +rx {} \;

Linux
  1. Linuxパーミッション:chmodの紹介

  2. / usr / bin / chmodなしでchmodする方法は?

  3. Chmod -r 644 /?の後に壊れたシステム

  1. 最大のファイルを再帰的に検索しますか?

  2. Linuxchmodコマンド

  3. Linuxの権限の変更

  1. 誰がChmodを実行できるかを変更しますか?

  2. chmod:コマンドが見つかりません

  3. 再帰的にgrepするにはどうすればよいですか?