How do you view file permissions?
If you want to see the the permission of a file you can use ls -l /path/to/file
command.
For example
ls -l acroread
-rwxr-xr-x 1 10490 floppy 17242 May 8 2013 acroread
What does this mean ?
First -
represents a regular file. It gives you a hint of the type of object it is.
It can have following values.
- d (directory)
- c (character device)
- l (symlink)
- p (named pipe)
- s (socket)
- b (block device)
- D (door)
- - (regular file)
r
represents read permission.w
represents write permission and x
represents executable permission.
First combination of rwx
represents permission for the owner .
Second combination of rwx
represents permission for the group .
Third combination of rwx
represents permission for the other of the file.
Octal notation
Permission of file can also be represented in octal notation.
In octal notation
Read or r
is represented by 4,
Write or w
is represented by 2
Execute x
is represented by 1.
Sum of these three is use to represent the permission.
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
For owner it is 4+2+1=7 (111 in binary)
For group it is 4+0+1=5 (101 in binary) and
For other it is 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.
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::---