What is umask and how to setup default umask under Linux?
Anil ask a question (via email):
What is umask and how is it determined on a Linux system?
The user file-creation mode mask (umask) is use to determine the file permission for newly created files. It can be used to control the default file permission for new files. It is a four-digit octal number .
Procedure to setup default umask
You can setup umask in /etc/bashrc or /etc/profile file for all users. By default most Linux distro set it to 0022 (022) or 0002 (002).
Open /etc/profile (global) or ~/.bashrc file
# vi /etc/profile
OR
$ vi ~/.bashrc
Append/modify following line to setup a new umask:
umask 022
Save and close the file. Changes will take effect after next login.
But what is 0022 and 0002?
The default umask 0002 used for normal user. With this mask default directory permissions are 775 and default file permissions are 664.
The default umask for the root user is 0022 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).
To calculate file permission for 022 (root user):
Default Permissions: 777
Subtract umask value: 022 (-)
Allowed Permissions: 755
To calculate directory permission for 022 umaks (root user):
Default Permissions: 666
Subtract umask value: 022 (-)
Allowed Permissions: 644
The following example explains the steps needed to set umask for permissions 700 for user files. The idea very simply only user is allowed to read or write file.
Default Permissions: 777
Subtract umask value: 077 (-)
Allowed Permissions: 700
$ umask 077
$ touch file.txt
$ ls -l file.txt
Output:
-rw------- 1 vivek vivek 0 2007-02-01 02:21 file.txt
Sample umask values and permission
| umask value | User | Group | Others |
| 0000 | all | all | all |
| 0007 | all | all | none |
| 0027 | all | r/w | none |
For more information read man page of bash:
man bash
help umask
Want to stay up to date with the latest Linux tips, news and announcements? Subscribe to our free e-mail newsletter or RSS feed to get all updates.
You can Email this page to a friend.
You may also be interested in other helpful articles:
- Allow normal user to mount linux partitions, usb stick / pen device
- Comparison Linux vs UNIX file systems
- 10 bad UNIX or Linux command line usage patterns to avoid
- Understanding UNIX / Linux filesystem directories
- Why isn’t it possible to create hard links across file system boundaries?
Discussion on This Article:
Leave a Reply
We encourage your comments, and suggestions. But please stay on topic, be polite, and avoid spam. Thank you very much for stopping by our site!


Reply from text:
—————————-
To calculate file permission for 022 (root user):
Default Permissions: 777
…
To calculate directory permission for 022 umaks (root user):
Default Permissions: 666
…
————————————
It’s wrong, isn’t it?
The right answer is:
To calculate _file_ permission for 022 (root user):
Default Permissions: _666_
etc.
To calculate _directory_ permission for 022 umaks (root user):
Default Permissions: _777_
etc.
The title says “How to setup default umask”
You never mention how to actually set the default up.
WGriffin,
Opps. Post has been updated. Thanks for heads up!
Yes Guy !
Its an excellent site for newbie.
I like it most…
I think its help all Linuxx user.
thanks. very helpful
thanks guys….
I like such short tutorials …;)
Cheers
Hi there!
I’ve tried changing umask on my GNU/Linux box (Gentoo). Is’s look like 0000 and 0111 is the same mask. What’s going on?
Default (initial) Run level for root?
Hi,
I have done this thing 3 times….but not any affect on umask default permissions.
i used :
# umask 0077 command for temporarily umask….