web-dev-qa-db-ja.com

許可に基づいてファイルを検索する

特定の権限を持つファイルのリストを見つけるにはどうすればよいですか?

所有者のroot権限を持つrwxユーザーが所有するファイルを検索したい。

そのようなファイルのリストを見つける方法はありますか? Ubuntu 16.04を使用しています。

14
Avani badheka

はい、GNU findでできます:

-ユーザーuname

ファイルの所有者はユーザーunameです(数値ユーザーIDが許可されます)。

-perm -mode

すべての許可ビットモードがファイルに設定されます。シンボリックモードはこの形式で受け入れられます。これは通常、それらを使用する方法です。シンボリックモードを使用する場合は、「u」、「g」、または「o」を指定する必要があります。いくつかの実例については、例のセクションを参照してください。

あなたが望んでいるのは:

find /path/to/directory -user root -perm -u+rwx
22
terdon

ユーザーが特定の許可を持っているすべてのファイルを検索する場合(ユーザーが所有者であるかどうか(およびACLを介して設定する場合でも))、-readable-writableおよび-executablefindを使用できます。

ユーザーsamが読み取り許可を持つすべてのファイルを検索するには

Sudo -u sam find /path/to/directory -readable -ls
  • 上記の3つのスイッチはfindを呼び出したユーザーの権限で動作するため、Sudo -u samが必要です。したがって、findをユーザーとして実行するにはSudoが必要ですsam
  • -lsは、見つかった各ファイルの完全なエントリを示します

さらなる例
samexecuteまたはwriteパーミッションを持つすべてのファイルを検索するには

Sudo -u sam find /path/to/directory -writable -or -executable -ls

samexecuteandreadパーミッションを持つすべてのファイルを見つけるには

Sudo -u sam find /path/to/directory -readable -and -executable -ls

書き込み可能はnotスペルミスです!

5
guntbert