48 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			48 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | ||
|  | title: File Permissions | ||
|  | --- | ||
|  | 
 | ||
|  | # File Permissions
 | ||
|  | 
 | ||
|  | * In Linux each file and directory has three user based permission groups: | ||
|  | 
 | ||
|  |      **owner (u)**  - This group of permissions apply only on owner of directory or file, and they do not impact the actions of other users.  | ||
|  |       | ||
|  |      **group (g)** - This group of permissions apply only on group of user that are assigned to the directory or file, and they do not impact the actions of other users. | ||
|  |       | ||
|  |      **all users (o)** - This group of permissions apply to all users on the system. | ||
|  | 
 | ||
|  | * In Linux each file and directory has three basic permission types: | ||
|  | 
 | ||
|  |      **read** - This permission allows user to read content of files. | ||
|  |       | ||
|  |      **write** - This permission allows user to write or modify the file or directory. | ||
|  |       | ||
|  |      **execute** - This permission allows user to execute a file or view the content of directory. | ||
|  |       | ||
|  | * To view permission you can use some of content listing commands such as `ls -l`, `ll`  and etc. | ||
|  |       | ||
|  |      Permissions are displayed as **_rwxrwxrwx**. Where _ means it is either directory marked as `drwxrwxrwx` or link marked as `lrwxrwxrwx`, first set of rwx are permissions for owner, second one are for group and the last set of rwx permissions are applied on all users. | ||
|  |       | ||
|  |      Usually each set of permissions has its value in integer. You can calculate each set value if you sum default values of each permission. | ||
|  |       | ||
|  |      **read (r)** = **4** | ||
|  |       | ||
|  |      **erite (w)** = **2** | ||
|  |       | ||
|  |      **execute (x)** = **1** | ||
|  |       | ||
|  |      This is important when you want to grant permissions to some type of user `owner`, `group`, `all users`. Granting permissions is usually done with command `chmod`. | ||
|  |       | ||
|  |      ``` | ||
|  |      chmod u=rwx,g=rx,o=r myfile | ||
|  |      ``` | ||
|  |      or equivalent | ||
|  |      ``` | ||
|  |      chmod 754 myfile | ||
|  |      ``` | ||
|  |      Example with no permission for groups | ||
|  |      ``` | ||
|  |      chmod 704 myfile | ||
|  |      ``` |