Q. How do I find out the name of file / directory owner under UNIX / Linux operating systems?
A. You can use ls -l command (list information about the FILEs) to find our the file / directory owner and group names.
The -l option is known as long format which displays Unix / Linux / BSD file types, permissions, number of hard links, owner, group, size, date, and filename. In some environments and UNIX versions / Linux distributions, providing the option --color (for GNU ls) or -G (FreeBSD ls) causes ls to highlight different types of files with different colors.

(Fig. 01: Linux file colors)

(Fig. 02: Understanding Linux / UNIX file colors code [ image credit wikipedia] )
How do I find out owner / group name for a file?
Type the ls -l command at a shell prompt:
$ ls -l filename
Sample output:
-rw-r--r-- 1 vivek admin 2558 Jan 8 07:41 filename
Where,
- -rw-r--r-- : file mode
- 1 - number of links
- vivek - Owner name (if user name is not a known user, the numeric user id displayed)
- admin - Group name (if group name is not a known group, the numeric group id displayed)
- 2558 - number of bytes in the file (file size)
- Jan 8 07:41 - abbreviated month, day-of-month file was
last modified, hour file last modified, minute file last modified - filename - File name / pathname
ls -l file mode (permissions)
Quoting from the unix ls command man page - the file mode printed under the -l option consists of the entry type and the permissions. The entry type character describes the type of file, as follows:
| - | Regular file. |
| b | Block special file. |
| c | Character special file. |
| d | Directory. |
| l | Symbolic link. |
| p | FIFO. |
| s | Socket. |
| w | Whiteout. |
The next three fields are three characters each: owner permissions, group permissions, and other permissions. Each field has three character positions:
- If r, the file is readable; if -, it is not readable.
- If w, the file is writable; if -, it is not writable.
- The first of the following that applies:
- S : If in the owner permissions, the file is not executable and set-user-ID mode is set. If in the group permissions, the file is not executable and set-group-ID mode is set.
- s : If in the owner permissions, the file is executable and set-user-ID mode is set. If in the group permissions, the file is executable and set group-ID mode is set.
- x : The file is executable or the directory is searchable.
- - : The file is neither readable, writable, executable, nor set-user-ID nor set-group-ID mode, nor sticky.
- These next two apply only to the third character in the last group (other permissions).
- T : The sticky bit is set (mode 1000), but not execute or search permission.
- t : The sticky bit is set (mode 1000), and is search able or executable.
See ls command man page for more information:
$ man ls
You should follow me on twitter here or grab rss feed to keep track of new changes.
Featured Articles:
- 30 Handy Bash Shell Aliases For Linux / Unix / Mac OS X
- Top 30 Nmap Command Examples For Sys/Network Admins
- 25 PHP Security Best Practices For Sys Admins
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- Linux: 20 Iptables Examples For New SysAdmins
- Top 20 OpenSSH Server Best Security Practices
- Top 20 Nginx WebServer Best Security Practices
- 20 Examples: Make Sure Unix / Linux Configuration Files Are Free From Syntax Errors
- 15 Greatest Open Source Terminal Applications Of 2012

- My 10 UNIX Command Line Mistakes
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- The Novice Guide To Buying A Linux Laptop













{ 2 comments… read them below or add one }
Very good article. I know another way to get ONLY the ownername or groupname with 1 shot:
# stat -c %U /path/to/file
# stat -c %G /path/to/file
These are helpful in writing scripts. More details at:
# man stat
Anybody know how to do this on Solaris?