File Permissions and Atrributes
File Permissions and Atrributes#
Working as part of a team in Linux environment require us to know how to share your files/directories with others.
Use ls -l
(long format) to list files and their attributes.
-rw-r--r-- 1 user group 1002287 Oct 20 15:49 example.csv
Explanation of output:
-rw-r--r--
: Permissions of file1
: hard link count (out of scope)user
: name of file ownergroup
: name of group owner1002287
: file size in bytesOct 20 15:49
: last time file was modifiedexample.csv
: name of file
Permissions are grouped into 3 categories:
user
group
other
Each category has 3 permissions:
r
(read)w
(write)x
(execute)A dash means no permission.
The command chmod
(change mode) is used to edit file permissions.
There are 2 ways to represent the permissions: numeric and symbolic.
Numeric mode
The rwx
permissions are represented by octal numbers (0-7). The following table explains
each value (credit: Wikipedia):
# |
Sum |
rwx |
Permission |
---|---|---|---|
7 |
4(r) + 2(w) + 1(x) |
rwx |
read, write and execute |
6 |
4(r) + 2(w) |
rw- |
read and write |
5 |
4(r) + 1(x) |
r-x |
read and execute |
4 |
4(r) |
r– |
read only |
3 |
2(w) + 1(x) |
-wx |
write and execute |
2 |
2(w) |
-w- |
write only |
1 |
1(x) |
–x |
execute only |
0 |
0 |
|
none |
Common file permissions:
644
- owner can read and write file, all others can read755
- owner can read, write, and execute, all others can read and execute600
- owner can read and write, no access to anyone else
Symbolic mode
Use symbolic notation for finer grained control of permissions. Symbolic notation
requires a reference
, operator
, and mode
. From
Wikipedia:
Reference |
Class |
Description |
---|---|---|
u |
user |
file owner |
g |
group |
member’s of the files’s group |
o |
others |
users who are neither the file’s owner nor members of the file’s group |
a |
all |
all three of the above, same as |
(empty) |
default |
same as “all”, except that bits in the umask will be unchanged |
Operator |
Description |
---|---|
+ |
adds the specified modes to the specified classes |
- |
removes the specified modes from the specified classes |
= |
the modes specified are to be made the exact modes for the specified classes |
Mode |
Name |
Description |
---|---|---|
r |
read |
read a file or list a directory’s contents |
w |
write |
write to a file or directory |
x |
execute |
execute a file or recurse a directory tree |
Common commands:
Make file executable by all:
chmod +x file