≡ Menu

access permissions

Linux / UNIX – Display the permissions of a file

Q. How do I list or display the permission of a file using ssh? I don’t have GUI installed on a remote Linux computer.

A.You need to use ls command with -l option. File access permissions are displayed in the first column of the output, after the character for file type.

ls command List information about the FILEs. If no argument is given it will use the current directory by default.

Task: List a file's access permissions

Type ls -l command as follows to display permission for /etc/passwd file:
$ ls -l /etc/passwd

-rw-r--r-- 1 root root 2453 Jul 17 16:25 /etc/passwd

Understanding the file permission

File access permissions appear in the first column of the output i.e. -rw-r--r--

  • The first character - is nothing but the file type. means regular file and d means directory.
  • The next three characters (rw-) specify permissions for the user who owns the file
  • The next three (r--) specify permissions for all members of the group that owns the file.
  • Finally, the last three characters in the column (r--) specify permissions for all other users on the system.

Each character in permission has meaning as follows:

  • r : Read permission.
  • w : Write permission.
  • x : Execute permission.
  • - : No permission.

For example rw- permission means owner can read, write to a file but cannot execute the same.

Linux / UNIX: Change File Permissions Recursively ( conditional )

How do I recursively change files with 777 permissions to 755 in /home/user/demo directory? I have a number of files in this directory and I need to change permission from 0777 to only if that file has 777 permissions. Is there an easy way out to achieve this on a Linux or Unix-like systems?
[click to continue…]