Linux/Unix operating systems have the ability to multitask in a manner similar to other operating systems. However, Linux’s major difference from other operating systems is its ability to have multiple users. Linux was designed to allow more than one user to have access to the system at the same time. In order for this multiuser design to work properly, there needs to be a method to protect users from each other. This is where permissions come in to play.

Linux is based on the idea that everyone using a system has their own username and password. Every file belongs to a user and a group, and has a set of given attributes (read, write and executable) for users, groups and others (everybody). A file or folder can have permissions for read and write only for the owner of the file (the user it belongs to) or for the users form a group, so that all other users can't even read the file.

Permissions are the “rights” to act on a file or directory. The basic rights are read, write, and execute.

  • Read - a readable permission allows the contents of the file to be viewed. A read permission on a directory allows you to list the contents of a directory.
  • Write - a write permission on a file allows you to modify the contents of that file. For a directory, the write permission allows you to edit the contents of a directory (e.g. add/delete files).
  • Execute - for a file, the executable permission allows you to run the file and execute a program or script. For a directory, the execute permission allows you to change to a different directory and make it your current working directory. Users usually have a default group, but they may belong to several additional groups.


To view the permissions on a file or directory, issue the command ls -l <directory/file>. Remember to replace the information in the < > with the actual file or directory name.

Example 1. Sample output for the ls -l  command:
     -rw-r--r-- 1 cecmi cecmi 1031 Nov 18 09:22 /home/cecmi/Documents/file

The first ten characters show the access permissions. The first dash (-) indicates the type of file (d for directory, s for special file, and - for a regular file). The next three characters (rw-) define the owner’s permission to the file. In this example, the file owner has read and write permissions only. The next three characters (r–) are the permissions for the members of the same group as the file owner (which in this example is read only). The last three characters (r–) show the permissions for all other users and in this example it is read only.

Example 2. Sample output for the ls -l  command:
     drwxr-xr-x 2 cecmi cecmi 4096 Jan  9 10:11 Documents

where
     drwxr-xr-x are the permissions
     2 is the number of files or directories
     cecmi is the owner
     cecmi is the group
     4096 is the size
     Jan  9 10:11 is the date/time of last access
     Documents is the directory

NOTE: Since a directory itself is a file, any directory will always show 4096 as it’s size. This does not reflect the size of the contents of the directory.

Example 3. Sample output for the ls -l  command:


where
Filename             Description

Desktop              It is a directory with rwx for the owner, rx for the group and rx for others.
Documents        
Downloads           Are directories with rwx for the owner and for the group, and rx for others.
file_read             The file is readable only for the owner.
file_read_write                 The file is readable and writable only for the owner.
file_read_write_execute     The file is readable, writable eand executable only for the owner.
file_rwx_all                       The file is readable, writable eand executable for all/evrybody.

Ultima modificare: marți, 2 mai 2023, 17:00