Sponsored Content
Full Discussion: help on umask
Operating Systems Linux help on umask Post 302184418 by era on Friday 11th of April 2008 12:12:41 PM
Old 04-11-2008
You cannot change the permissions on already created files by changing the umask. It affects the permissions when the file is created, but after that, you need to use chmod to change permissions.

If you know your umask and the file mode passed in when a file is being created, you can figure out what permissions the file is going to have, but there is a simple boolean calculation involved, and if you don't want to perform that, you cannot magically know the answer.

If your umask is 000 then the file will have whatever permission the creating application requested (typically 666 or 644). If your umask is 077 then the file will have the "group" and "other" permission bits forced to zero, and your own permission set to whatever the application requested (typically 600). The number of possible combinations is quite small (and only a fraction of them are ever seen in practice) and the calculation is not at all hard to do in your head.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

umask

in this unix book that i have, it says: the statement: filedes = open(pathname, O_CREAT, mode); is actually filedes = open(pathname, O_CREAT, (~mask)&mode); /* ~ is the negation symbol */ like it's doing some type of masking. for example, fd =... (1 Reply)
Discussion started by: bb00y
1 Replies

2. UNIX for Dummies Questions & Answers

umask

the umask on solaris must return 022 or 0022 wich one is correct and why? thanks, pa (2 Replies)
Discussion started by: rsh
2 Replies

3. AIX

Umask help

I changed the umask in /etc/security/user to 027. I changed the umask in /etc/profile to 027. My current shell is ksh. My .profile doesn't make any changes to umask or call other scripts that change umask. Running AIX 5.3 I still get a umask of 022 instead of the expected 027. I have no... (1 Reply)
Discussion started by: x96riley3
1 Replies

4. UNIX for Dummies Questions & Answers

umask

Hi, I have a doubt on the umask values. Why is the UMASK value is different from file and directory? Suppose if the umask value is 0022. The file permissions for a newly created file is 644 and the file permissions for a newly created directory is 755. My doubt is why can't it be the... (1 Reply)
Discussion started by: praveen_b744
1 Replies

5. Solaris

umask

Due to urgent requirement to resolve some permission issues , I wish to set solaris 8 server so that any file written is on 777 . I guess need to set umask , how to set it ?? (7 Replies)
Discussion started by: falcon16
7 Replies

6. UNIX for Dummies Questions & Answers

Umask

I need to set a umask of 022 for my ssh sessions, or within my profile. I have set the umask in both bash_profile and bashrc. and when i run umask i get 0022 but when i create a file i get, # touch test.txt # ls -l test.txt -rw------- 1 root root 0 Apr 26 12:25 test.txt it seems like... (1 Reply)
Discussion started by: felix001
1 Replies

7. UNIX for Advanced & Expert Users

umask

Hi, Please, let me know how the umask is working? As per my understanding is aprt from subtracting from 666/777, logical gate operation is performing. Ex: If I set uname 011, it gave the permission like 666 for file. Request you to explain which gate's operation performed. $uname 011... (4 Replies)
Discussion started by: Nagapandi
4 Replies

8. AIX

UMASK

How do I change the umask for a NIS user? Thanks steve (1 Reply)
Discussion started by: steve.lavoie
1 Replies

9. Shell Programming and Scripting

Help for umask

Hi, I want to set umask value only for vi editor. If I create new file using vi editor, then automatic permission should be 777. I want to set umask 000. Please help me. Thanks in advance (2 Replies)
Discussion started by: mnmonu
2 Replies

10. UNIX for Dummies Questions & Answers

Umask help!

Hi guys, I want all new files and directories created, or copy file give this permisson "rwxrwx---", with chmod i do this with octal value "770". If i execute "umask 770" the permissons is not the same with new or copy file. How can i configure this command? I do not understand the "man... (1 Reply)
Discussion started by: Xedrox
1 Replies
UMASK(2)						     Linux Programmer's Manual							  UMASK(2)

NAME
umask - set file mode creation mask SYNOPSIS
#include <sys/types.h> #include <sys/stat.h> mode_t umask(mode_t mask); DESCRIPTION
umask() sets the calling process's file mode creation mask (umask) to mask & 0777 (i.e., only the file permission bits of mask are used), and returns the previous value of the mask. The umask is used by open(2), mkdir(2), and other system calls that create files to modify the permissions placed on newly created files or directories. Specifically, permissions in the umask are turned off from the mode argument to open(2) and mkdir(2). The constants that should be used to specify mask are described under stat(2). The typical default value for the process umask is S_IWGRP | S_IWOTH (octal 022). In the usual case where the mode argument to open(2) is specified as: S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH (octal 0666) when creating a new file, the permissions on the resulting file will be: S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH (because 0666 & ~022 = 0644; i.e., rw-r--r--). RETURN VALUE
This system call always succeeds and the previous value of the mask is returned. CONFORMING TO
SVr4, 4.3BSD, POSIX.1-2001. NOTES
A child process created via fork(2) inherits its parent's umask. The umask is left unchanged by execve(2). The umask setting also affects the permissions assigned to POSIX IPC objects (mq_open(3), sem_open(3), shm_open(3)), FIFOs (mkfifo(3)), and Unix domain sockets (unix(7)) created by the process. The umask does not affect the permissions assigned to System V IPC objects created by the process (using msgget(2), semget(2), shmget(2)). SEE ALSO
chmod(2), mkdir(2), open(2), stat(2) COLOPHON
This page is part of release 3.27 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/. Linux 2008-01-09 UMASK(2)
All times are GMT -4. The time now is 05:05 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy