umask dosn't set execute bit on files (ie file permissions start with 666 directories with 777)
so for files
And directories
There is no option to have umask set file permissions the same as their parent directory (and you wouldn't want to do that anyway as execute bit on directories controls searchability and has nothing to do with the execute bit on files within them).
You should only set execute bit on files that are actual commands (like script files or compiled programs).
If you want different permissions to these defaults, use the chmod command to change them after you've created your file.
The t on a directory is the sticky bit and means that only the file owner (or root) can remove files once they are created, even though the directory permissions allow write.
Last edited by Chubler_XL; 11-15-2010 at 01:51 PM..
This User Gave Thanks to Chubler_XL For This Post:
Can anyone help explain the "s" in the below permissions example. I was reading about the "sticky bit" (t) but I am a little confused.
On file "test"
wolf% chmod 4777 test
wolf% ls -l
total 4
drwx------ 2 john staff 512 Mar 19 21:34 nsmail
-rwsrwxrwx 1 john staff ... (2 Replies)
Hi everyone, I'm looking for some information concerning Unix permissions. I am new to Unix and am doing research for a graduate class. Given the permissions below, can anyone give me five unique exploits that would be available to a hacker/cracker given this configuaration?
-rw-rw-rw- 1... (1 Reply)
I saved a perl code in xemacs. I used an xterminal to execute it but unix said that I don't have permission. I saved the files in my home directory. How do I change the permission. This is hat unix said:
-ksh: ./names.pl: cannot execute (5 Replies)
Hey,
We've got quite a strange problem on our hands here. We are running an HP 9000/800 B.11.00.
I've just created a new group in /etc/group which i called, let's say newgroup . Then I added 4 users to the group, namely user1, user2, user3, user4 . The command grpchk shows no strange things... (4 Replies)
Hi,
I am a Unix Admin. I have to give the permissions to a user for creating new file in a directory in HP-Ux 11.11 system since he cannot able to create a new file in the directory.
Thanks in advance.
Mike (3 Replies)
Hi, I am creating a ksh script to search for a string of text inside files within a directory tree. Some of these file are going to be read/execute only. I know to use chmod to change the permissions of the file, but I want to preserve the original permissions after writing to the file. How can I... (3 Replies)
Hi,
I have noticed that on my Linux box there is a nice feature which make it impossible for specified member (owner, group or other) to have an given access if a member from which we would expect it more don't have that access.
So it is impossible to read file by all if others have set read... (3 Replies)
Hi guys,
i write the below script to make the user get to the directory that interesting. Now what I am trying is to check the permissions of the directory and if the directory exists to check the reading options.
echo "Please enter your desire folder directory ( \yourfolders) ?: \c"
... (9 Replies)
Discussion started by: mikerousse
9 Replies
LEARN ABOUT LINUX
umask
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)