The umask (user file-creation mode mask) in Linux is a command that determines the default file permission settings for new files and directories created by a user. Essentially, it's a setting that influences the permissions that are set on newly created files and directories. When a new file or directory is created, it is assigned default permissions. The default permissions are usually quite permissive. However, for security reasons, it's often desirable to limit the default permissions that new files and directories get. This is where umask comes in. The umask subtracts permissions from the default set. For example, if the umask is set to 002, then new files will have the permissions 666-002=664, and new directories will have 777-002=775. The umask value is represented in octal and it effectively 'masks' bits in the default permission set. Here's how to change it: Temporary Change: To temporarily change the umask value for the current shell session, you can simply type umask followed by the desired value. For example, umask 022 will set the umask to 022 for your current session. This change will last until you log out or close the terminal. Permanent Change for a Single User: To permanently change the umask for a single user, you need to edit the shell configuration files like .bashrc or .bash_profile in the user's home directory. Add a line such as umask 022 to set the desired umask value. System-Wide Change: To change the umask value system-wide (for all users), you can edit the global profile file. This is typically done in /etc/profile or /etc/bash.bashrc for systems using the bash shell, or the equivalent for other shells. You add the umask command in the same way: umask 022. Keep in mind that changes to these files will affect all users and all new processes and should be done with caution. Remember, the umask setting is subtracted from the default permissions. So, if you want files to be created with more restrictive permissions, you set a higher umask value. Be aware that changing umask settings can affect how software operates, particularly software that expects certain permissions for proper operation. Source: ChatGPT
Yes, it's a ChatGPt 4 answer. The question I asked ChatGPT was "What is the purpose of the umask setting on Linux and how can I change it system-wide?" I just added "on Linux" to the original question to add some context and to ensure that the answer is for the right operating system.
Basically, forums and websites will soon be obsolete for any general Linux questions. ChatGPT is also quite helpful when writing SQL queries or smaller code fragments for programming, and it's also good at building regular expressions. So, it's quite a helpful tool for developers.