ファイルではなくディレクトリに実行 (検索) 権限を与えるには、次を使用します。
chmod -R +X .
例のようにすべての権限を割り当てるには、次を使用します。
chmod -R u=rwX,g=rX,o= .
-R
ファイルとディレクトリを再帰的に変更しますが、 +X
ファイルがディレクトリであるか、すでに一部のユーザーの実行権限を持っている場合にのみ、実行/検索を設定します。 r
と w
もちろん、それぞれ読み書き用です。
モード X
(上 × ) は、従来のマニュアル ページと情報ドキュメントの両方に記載されています。
他の Unix ライクなシステムでも動作するはずです。 FreeBSD、NetBSD、または OpenBSD。 The Open Group Base Specifications Issue 7, 2018 edition の chmod(1) man ページからの引用:
<ブロック引用>X perm シンボルは、再帰 (-R) を実行するときに一般的に必要な機能を提供するため、BSD ベースのシステムから採用されました。 オプション) 変更。同様の機能は find では提供されていません 効用。 chmod の歴史的な BSD バージョン 、ただし、サポートされているのは X のみです op 付き +; op でも役立つため、このボリュームの POSIX.1-2017 で拡張されました。 =。 (op にも追加されています - x を複製しても 、この場合は、直感的で説明しやすいためです。)
man 1 chmod
info '(coreutils)Conditional Executability'
再帰的に実行したい場合は、つまり 、ディレクトリ内のディレクトリ内のディレクトリに対して、使用するコマンドは次のとおりです:
find /path/to/starting/directory -type d -exec chmod +x {} \;
これにより、すべてのサブディレクトリのみが検索されます (-type d flag) をディレクトリ /path/to/starting/directory に追加し、それぞれに対して必要な実行権限の変更を実行します。 \; の前のスペース 必須です。