How can I find files that only have certain permission for owner?

I would like to find files only by a certain user's permission. For example, if I want to find a file that I have full permission.

I may do something like:

find . -user $(whoami) -perm 

But what should I put after -perm if I want to ignore the permission of root and other users.


Start with:

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

This means: look for files starting in /path/to/files, owned by user1, where the permissions for group and other can be anything (- in front of the permission string) and the users permissions are only: rwx

To search for files only (no directories) then add -type f.

Also, try some reading. This has great examples: Find tutorial


From the manpages of find:

-perm -mode

All of the permission bits mode are set for the file. Symbolic modes are accepted in this form, and this is usually the way in which would want to use them. You must specify 'u', 'g' or 'o' if you use a symbolic mode.

And so:

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

for the specified user, it returns files with the following privileges: rwx,

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

for the specified user, it returns files with the following privileges: rwx, rw,

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

for the specified user, it returns files with the following privileges: rwx, rx,

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

for the specified user, it returns files with the following privileges: rwx, rw, rx, r,

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

for the specified user, it returns files with the following privileges: rwx, wx,

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

for the specified user, it returns files with the following privileges: rwx, rw, wx, w,

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

for the specified user, it returns files with the following privileges: rwx, rx, wx, x,

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

for the specified user, it returns files with the following privileges: rwx, rw, rx, wx, r, w, x, 0,

-perm /mode

Any of the permission bits mode are set for the file. Symbolic modes are accepted in this form. You must specify 'u', 'g' or 'o' if you use a symbolic mode. (...) If no permission bits in mode are set, this test matches any file (the idea here is to be consistent with the behaviour of -perm -000).

Examples:

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

for the specified user, it returns files with the following privileges: rwx, rw, rx, wx, r, w, x,

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

for the specified user, it returns files with the following privileges: rwx, rw, rx, wx, r, w,

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

for the specified user, it returns files with the following privileges: rwx, rw, rx, wx, r, x,

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

for the specified user, it returns files with the following privileges: rwx, rw, rx, r,

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

for the specified user, it returns files with the following privileges: rwx, rw, rx, wx, w, x,

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

for the specified user, it returns files with the following privileges: rwx, rw, wx, w,

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

for the specified user, it returns files with the following privileges: rwx, rx, wx, x,

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

for the specified user, it returns files with the following privileges: rwx, rx, rw, wx, r, w, x, 0.

Examples have been tested.