Linux / Unix Find All The Files Owned By a Particular User / Group

See all GNU/Linux related FAQ
How do I list or find all the files owned by a particular system user or group under Linux or UNIX like operating systems using command line options?

You need to use the find command to search for files in a directory hierarchy. It has options that allow you to search files owned by a specific user or groups under a Unix, Linux, *BSD, Apple macOS/OS X operating systems. This page shows how to find all the files owned by a participle user or group when using Linux and Unix-like systems.
Tutorial details
Difficulty level Easy
Root privileges Yes
Requirements Linux or Unix terminal
Category File Management
OS compatibility BSD Linux macOS Unix
Est. reading time 3 minutes

Linux / Unix Find All The Files Owned By a Particular User / Group

See all UNIX related articles/faq
Let us see how to use the find command to locate all files/folders owned by one or many users on Linux or Unix-like system.

Find file owned by a group

Use the following syntax to find files owned by users(s) in Linux/Unix:
find directory-location -group {group-name} -name {file-name}
Where,

  • directory-location : Locate the file in this directory path.
  • -group {group-name} : Find the file belongs to group-name.
  • -name {file-name} : The file name or a search pattern

In this example, locate or find all files belongs to a group called “ftpusers” in the /home directory:
# find /home -group ftpusers
To find all *.c file belongs to a group called “ftpusers” in /data/project directory, run:
# find /data/project -group ftpusers -name "*.c"
OR do case insensitive search:
# find /data/project -group ftpusers -iname "*.c"

Find all *.mp4 files by group vivek

Run:
$ find $HOME -name "*.mp4" -group vivek
Linux / Unix Find All The Files Owned By a Particular User / Group
To list file in ls command format pass the -ls option to the find:
$ find $HOME -name "*.mp4" -group vivek -ls

Find file owned by user name

The syntax is:
find directory-location -user {username} -name {file-name}
Where,

  • directory-location : Locate files or directories in this directory location.
  • -user { user-name } : Find the file belongs to user.
  • -name {file-name} : File name or pattern.

Tip: When searching system directory such as / or /var, you must run the find command as the root user.

In this example, locate or find all file belongs to a user called “vivek” in /var directory:
# find /var -user vivek
OR use the sudo command or su command to become the root/admin user:
$ sudo find /var -user vivek
To find all *.pl (perl files) file belongs to a user called “vivek” in /var/www directory, enter:
# find /var/www -user vivek -name "*.pl"

How to find files by users vivek and wendy

Type:
### match files only ##
# find / -type f -user vivek -o -type f -user wendy
# find / -type f -user vivek -ls -o -type f -user wendy -ls
### match dirs only ##
# find / -type d -user vivek -o -user wendy
# find / -type d -user vivek -o -type d -user wendy
# find / -type d -user vivek -ls -o -type d -user wendy -ls

The -ls will list current file in ls -dils format on the screen.

Finding file NOT owned by a user or group

Pass the -not expr or \! expr as follows:
$ find /dir-to-search -type [f|d] -not -user <user_name> -ls
$ find /dir-to-search -type [f|d] -not -group <group_name> -ls

The following find command will search the entire filesystem (/) for regular files (-type f) that are not owned by the user vivek (-not -user vivek) and list them in Linux or Unix long format (-ls):
# find / -type f -not -user vivek -ls
# find / -type f \! -user vivek -print
# find files that are not owned by group 'vivek' #
# find / -type f -not -group vivek -print
# find / -type f \! -group vivek -print

Summing up

You just learned how to find all of the files created by a particular user/group and display them to the screen. For more info see find command man page using the man command/help command:
$ man find
$ find --help

Also see:

🥺 Was this helpful? Please add a comment to show your appreciation or feedback.

nixCrat Tux Pixel Penguin
Hi! 🤠
I'm Vivek Gite, and I write about Linux, macOS, Unix, IT, programming, infosec, and open source. Subscribe to my RSS feed or email newsletter for updates.

18 comments… add one
  • Brian Lamb Oct 23, 2023 @ 16:23

    what about “NOT” owned by.. can you share some code for that?

    • 🛡️ Vivek Gite (Author and Admin) Vivek Gite Oct 23, 2023 @ 19:03

      Add the -not or !

      find / -type d -not -user vivek
      ## OR 
      find / -type d \! -user vivek

Leave a Reply

Your email address will not be published. Required fields are marked *

Use HTML <pre>...</pre> for code samples. Your comment will appear only after approval by the site admin.