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

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.

ADVERTISEMENTS

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

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

Tutorial details
Difficulty Easy (rss)
Root privileges No
Requirements None
Time N/A
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

$ 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

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.

In this example, locate or find all file belongs to a user called “vivek” in /var directory:
# 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

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

Conclusion

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.

🐧 If you liked this page, please support my work on Patreon or with a donation.
🐧 Get the latest tutorials on SysAdmin, Linux/Unix, Open Source/DevOps topics:
CategoryList of Unix and Linux commands
File Managementcat
FirewallAlpine Awall CentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network Utilitiesdig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNAlpine CentOS 8 Debian 10 Firewall Ubuntu 20.04

ADVERTISEMENTS
11 comments… add one
  • Marcelo Apr 8, 2010 @ 23:16

    Thank you. This article taught something very important today.

  • Anon Jun 28, 2011 @ 0:54

    Thanks, works well!

  • Hemant Jul 5, 2012 @ 6:04

    I tried …
    root:suraj> find /var -user hemantr
    /var/spool/mail/hemantr
    /
    root> find / -user hemantr
    ^C/
    root> find /u -user hemantr
    /
    root> find /u/hemant -user hemantr
    find: 0652-019 The status on /u/hemant is not valid.
    /
    root> find /var -id 351
    find: 0652-017 -id is not a valid option.
    /
    Please can you let me know how to find files using id?

    • chauahan Aug 13, 2012 @ 16:40

      Find files in your system which is owned by natasha user & copy all the files on /backup/somefile directory

      • Aman Oct 2, 2012 @ 18:33

        file_list=`find /home -user natasha -type f`; for file in $file_list; do cp $file /backup/somefile; done;

  • Aman Oct 2, 2012 @ 18:20

    @chauahan

    file_list=`find /home -user natasha -type f`; for file in $file_list; do cp $file /backup/somefile; done;

  • bhuvana Feb 22, 2013 @ 8:54

    can anyone suggest who are all accessing my file in unix?

    • dirtbag Apr 7, 2015 @ 20:46

      @bhuvana.. Its probably Obama.

  • Afsari Oct 15, 2015 @ 18:18

    find / -user afsari -exec cp -pfr {} /afsari_user_file \;

    syntax: Example: find
    “/” like search directory
    “-exec” execute
    “cp” copy
    “/afsari_user_file” copy directory
    “\” loop at the end

  • Christian Jun 8, 2017 @ 13:20

    Hi,
    How can I search for files that doesnt have a certain owner and create a text list with the owner/ permission and in the right of each file to have a text like File: name of the file, owner, permissions

    Thanks

    • Dan Jul 17, 2020 @ 15:02

      @Christian
      Start with generating the list:
      find /var/log -type f ! -user root

      Then include it into a wrapper to perform the action:
      for file in $(find /var/log -type f ! -user root); do ls -l $file >outputfile ; done
      or
      find /var/log -type f ! -user root -exec ls -l {} >outputfile \;

Leave a Reply

Your email address will not be published.

Use HTML <pre>...</pre>, <code>...</code> and <kbd>...</kbd> for code samples.