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

ファイルではなくディレクトリに実行権限を与える

ファイルではなくディレクトリに実行 (検索) 権限を与えるには、次を使用します。

chmod -R +X .

例のようにすべての権限を割り当てるには、次を使用します。

chmod -R u=rwX,g=rX,o= .

-R ファイルとディレクトリを再帰的に変更しますが、 +X ファイルがディレクトリであるか、すでに一部のユーザーの実行権限を持っている場合にのみ、実行/検索を設定します。 rw もちろん、それぞれ読み書き用です。

モード 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 に追加し、それぞれに対して必要な実行権限の変更を実行します。 \; の前のスペース 必須です。


Linux
  1. Faclは「x」権限を無視しますが、ファイルのみですか?

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

  3. unzip:コマンドが見つかりません

  1. LinuxのNOTディレクトリのディレクトリ内のファイルのみを削除します

  2. find コマンドを使用するが、2 つのディレクトリ内のファイルを除外する

  3. あるディレクトリに存在し、他のディレクトリには存在しないファイルを見つける

  1. Linux:ディレクトリのみに権限を設定する

  2. bash - すべてのディレクトリ (およびコンテンツ) を削除しますが、pwd 内のファイルは削除しません

  3. find コマンドの結果に基づいてファイルを chmod する方法