Which of the following umask settings allow execute permission to be set by default on regular files

Introduction

When creating a new file or directory, Linux applies the default set of permissions. The umask command lets you change these default permissions.

In this tutorial, you will learn what umask is, how it works, and how to use it to set up file and directory permissions for individual users or groups.

Which of the following umask settings allow execute permission to be set by default on regular files

Prerequisites

  • Linux-based system (e.g., Ubuntu, CentOS, Debian)
  • A user account with sudo privileges
  • Access to the command terminal

Umask Overview

The term umask refers to two things:

1. The Linux umask command. umask (user file-creation mode) is a Linux command that lets you set up default permissions for newly created files and folders.

2. A user-defined permissions ‘mask’. A user can choose how to restrict  permissions by using a permissions mask. A permission mask interacts with the default system permissions and changes them. The umask command is used to apply this mask.

How Does Umask Work?

The umask command works by affecting the default Linux file and folder permissions.

There are three categories of permissions for every file and folder in Linux:

  • User: Defines permissions for each individual user. By default, the user who creates a file or folder is set as the owner.
  • Group: Defines permissions for a group of users that share the same level of access.
  • Other: Defines permissions for anyone not included in the two previous categories.

Use the following command to review permissions for the home folder:

ls -l

Which of the following umask settings allow execute permission to be set by default on regular files

Each line of the output starts with a 10-character string detailing permissions. Breaking down the highlighted entry, this string consists of the following elements:

  • d: Indicates the file type (directory).
  • rwx: Indicates user permissions (read, write, and execute).
  • r-x: Indicates group permissions (read and execute).
  • r-x: Indicates other permissions (read and execute).

The umask Command Syntax

Using the umask command without additional command options returns the current mask as the output:

Which of the following umask settings allow execute permission to be set by default on regular files

The umask command uses the following syntax:

umask [-p] [-S] [mask]

Where:

  • [mask]: The new permissions mask you are applying. By default, the mask is presented as a numeric (octal) value.
  • [-S]: Displays the current mask as a symbolic value.
  • [-p]: Displays the current mask along with the umask command, allowing it to be copied and pasted as a future input.

Which of the following umask settings allow execute permission to be set by default on regular files

Symbolic and Numeric umask Values

As we mentioned in the example above, umask can be displayed as a numeric (octal) or symbolic value.

A mask can have the following numeric, and the corresponding symbolic, values:

0 --- No permission
1 --x Execute
2 -w- Write
3 -wx Write and execute
4 r-- Read
5 r-x Read and execute
6 rw- Read and write
7 rwx Read, write, and execute

How to Calculate Umask Values

Linux uses the following default mask and permission values:

  • The system default permission values are 777 (rwxrwxrwx) for folders and 666 (rw-rw-rw-) for files.
  • The default mask for a non-root user is 002, changing the folder permissions to 775 (rwxrwxr-x), and file permissions to 664 (rw-rw-r--).
  • The default mask for a root user us 022, changing the folder permissions to 755 (rwxr-xr-x), and file permissions to 644 (rw-r--r--).

This shows us that the final permission value is the result of subtracting the umask value form the default permission value (777 or 666).

For example, if you want to change the folder permission value from 777 (read, write, and execute for all) to 444 (read for all), you need to apply a umask value of 333, since:

777 - 444 = 333

How to Set and Update the Default Umask Value

Use the following syntax to apply a new umask value:

umask [mask]

Where:

  • [mask]: The mask you want to apply, as either a symbolic or numeric value.

Setting Up a Symbolic Umask Value

Set a new umask value by using symbolic values with the following syntax:

umask u=#,g=#,o=#

Where:

  • u: Indicates user permissions.
  • g: Indicates group permissions.
  • o: Indicates other permissions.
  • #: The symbolic permission value you want to apply, as detailed in the table above.

Note: Never use space after comas when setting up a symbolic mask value.


There are also other operators you can use:

  • =: Creates specified file permissions and prohibits unspecified permissions.
  • +: Creates specified permissions, but does not change unspecified permissions.
  • -:Prohibits specified permissions, but does not change unspecified permissions.

Setting Up a Numeric Umask Value

Once you calculate the required umask numeric value, set it up by using:

umask [mask]

Where:

  • [mask]: The numeric value of the mask you want to apply.

Difference Between umask and chmod

The chmod command in Linux works in a similar way to the umask command. It too is used to define permissions for files and folders.

The difference between umask and chmod is that umask changes the default permissions and thus the permissions for all newly created files and folders, while chmod sets permissions for files and folders that already exist.

Conclusion

After following this tutorial, you should be able to review and change umask using symbolic or numeric values.

Make sure you also take a look at our Linux command cheat sheet for more commonly used Linux commands.

What is the umask value which doesn't allow execute permission for directories by default?

The default umask for the root user is 022 result into default directory permissions are 755 and default file permissions are 644. For directories, the base permissions are (rwxrwxrwx) 0777 and for files they are 0666 (rw-rw-rw).

What does umask 022 mean?

Brief summary of umask value meanings: umask 022 - Assigns permissions so that only you have read/write access for files, and read/write/search for directories you own. All others have read access only to your files, and read/search access to your directories.

What does umask 777 mean?

umask -S. display the current mask in symbolic notation. umask 777. disallow read, write, and execute permission for all (probably not useful because even owner cannot read files created with this mask!) umask 000.

What is the default file permissions for a system with umask 471?

By default, the system sets the permissions on a text file to 666, which grants read and write permission to user, group, and others, and to 777 on a directory or executable file. The value assigned by the umask command is subtracted from the default.