web-dev-qa-db-ja.com

所有者に対して特定の権限のみを持つファイルを見つけるにはどうすればよいですか?

特定のユーザーの許可によってのみファイルを検索したいです。たとえば、完全な許可を持っているファイルを見つけたい場合。

私は次のようなことをするかもしれません:

find . -user $(whoami) -perm 

しかし、rootおよび他のユーザーの許可を無視したい場合、-permの後に何を置くべきですか。

39
Alex Gao

皮切りに:

find /path/to/file -user user1 -perm -u+rwx

つまり、/ path/to/filesで始まるファイルを探します。所有者はuser1、グループおよびその他のアクセス許可は何でもかまいません(-許可文字列の前)およびユーザーのアクセス許可のみ:rwx

また、読んでみてください。これには素晴らしい例があります: Find tutorial

68
jim mcnamara

-perm -mode

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

find . -user $(whoami) -perm -007

指定されたユーザーに対して、次の特権を持つファイルを返します:rwx

find . -user $(whoami) -perm -006

指定されたユーザーに対して、次の特権を持つファイルを返します:rwxrw

find . -user $(whoami) -perm -005

指定されたユーザーに対して、次の特権を持つファイルを返します:rwxrx

find . -user $(whoami) -perm -004

指定されたユーザーに対して、次の特権を持つファイルを返します:rwxrwrxr

find . -user $(whoami) -perm -003

指定されたユーザーに対して、次の特権を持つファイルを返します:rwxwx

find . -user $(whoami) -perm -002

指定されたユーザーに対して、次の特権を持つファイルを返します:rwxrwwxw

find . -user $(whoami) -perm -001

指定されたユーザーに対して、次の特権を持つファイルを返します:rwxrxwxx

find . -user $(whoami) -perm -000

指定されたユーザーに対して、次の特権を持つファイルを返します:rwxrwrxwxrwx、、

-perm/mode

許可ビットモードのいずれかがファイルに設定されます。この形式では、記号モードが受け入れられます。シンボリックモードを使用する場合は、「u」、「g」、または「o」を指定する必要があります。いくつかの実例については、例のセクションを参照してください。モードで許可ビットが設定されていない場合、このテストはどのファイルにも一致します(ここでの考え方は、-perm -000の動作と一致させることです)。

find . -user $(whoami) -perm /007

指定されたユーザーに対して、次の特権を持つファイルを返します:rwxrwrxwxrwx

find . -user $(whoami) -perm /006

指定されたユーザーに対して、次の特権を持つファイルを返します:rwxrwrxwxrw

find . -user $(whoami) -perm /005

指定されたユーザーに対して、次の特権を持つファイルを返します:rwxrwrxwxrx

find . -user $(whoami) -perm /004

指定されたユーザーに対して、次の特権を持つファイルを返します:rwxrwrxr

find . -user $(whoami) -perm /003

指定されたユーザーに対して、次の特権を持つファイルを返します:rwxrwrxwxwx

find . -user $(whoami) -perm /002

指定されたユーザーに対して、次の特権を持つファイルを返します:rwxrwwxw

find . -user $(whoami) -perm /001

指定されたユーザーに対して、次の特権を持つファイルを返します:rwxrxwxx

find . -user $(whoami) -perm /000

指定されたユーザーに対して、次の特権を持つファイルを返します:rwxrxrwwxrwx、。

例はテスト済みです。

引用元

14
simhumileco