I want to know how to see the permissions a particular file has. Which command should I type in the terminal? However, I don't want to change it.
4 Answers
If you want to see the permissions of a file, you can use the ls -l /path/to/file command.
For example
> ls -l acroread
-rwxr-xr-x 1 10490 floppy 17242 May 8 2013 acroread
What does output mean ?
The first column gives you a hint of the type of this object. It can have the following values:
-(regular file)d(directory)c(character device)l(symlink)p(named pipe)s(socket)b(block device)D(door)
Then the permissions follow:
rmeans read permission.wmeans write permission.xmeans executable permission.-means the permission is not set.
- The first combination of
rwxrepresents the permissions for the owner. - The second combination of
rwxrepresents the permissions for the group. - The third combination of
rwxrepresents the permissions for others.
Octal notation
These permissions can also be represented in octal notation:
- Read permission, or
r, is represented by the number4 - Write permission, or
w, is represented by2 - Execute permission, or
x, is represented by1
The sum of these numbers denotes the permission.
The stat command can be used to view file permission in octal notation:
> stat -c "%a %n" /path/of/file
For example:
> stat -c "%a %n" acroread
755 acroread
Here you can see the following permissions:
- For the owner they are 4+2+1=7 (111 in binary),
- for the group they are 4+0+1=5 (101 in binary), and
- for others they are 4+0+1=5 (101 in binary).
You can use either long listing:
ls -l [filename]
Or stat:
stat [filename]
Stat is more comprehensive; it shows you the access, modify and change times, as well as Inode and size information, which may or may not be useful to you.
- 541
Regardless of your actually using ACL permissions, if you have the acl package installed, you can use getfacl <path> to get a pretty decent breakdown of permissions on that file.
$ getfacl /root/
# file: root/
# owner: root
# group: root
user::rwx
group::---
other::---
If you do use ACL permissions, it'll tell you about permissions that ls and stat just can't.
$ sudo setfacl -m u:oli:r /root
$ getfacl /root/
# file: root/
# owner: root
# group: root
user::rwx
user:oli:r--
group::---
mask::r--
other::---
You can also see file permission by right-clicking the file and selecting properties and there you will find permissions.
- 440