06-07-2006
Let's use numbers, because umask can be confusing. It works sort of backwards.
umask controls the process' default file protection mask, chmod works on single files.
umask affects every file you create, in other words.
umask 777 looks like it would set all the bits on, but umask works on the "complement",
ie, it does the opposite, so this creates a protection mask with all bits off.
chmod 777 filename plays fair - it sets the bits on.
umask 000 would turn on bits that it could turn on. It works backwards, sort of.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I am a Unix newbie and I downloaded some X11 programs. I have gcc, but I cannot compile the files. I NEED HELP!!!! :confused: (16 Replies)
Discussion started by: gnerd
16 Replies
2. UNIX for Advanced & Expert Users
Hi!
My question is this:
Is it possible to change the default permissions in UNIX (666 for files and 777 for directories)?.
I am not talking about using the command "umask".
I mean, with the command "umask" you can modify permissions from a default permissions x. Is it possible to make... (4 Replies)
Discussion started by: chicoGuapo
4 Replies
3. Programming
I have written following code to do: ls -l | wc -w, it works:
but when there are not only a single "|", if there are more such as:
ls -l | sort -r | sort | sort -r, This program does not work, i want to know how could i deal with it when there are more "|", another situation is that, if it mixes... (2 Replies)
Discussion started by: strugglingman
2 Replies
4. Shell Programming and Scripting
Hi All
I have a migration program that creates directories based on dates, e.g 20090714 20090812 etc.. Based on their requirements, the user will select the directory they want to perform an action on.
Currently, this is a snippet of the code I use
no_of_versions=`ls | wc -l`
if... (2 Replies)
Discussion started by: kingpin2502
2 Replies
5. Shell Programming and Scripting
Hi All,
I have working (Perl) code to combine 2 input files into a single output file using the join function that works to a point, but has the following limitations:
1. I am restrained to 2 input files only.
2. Only the "matched" fields are written out to the "matched" output file and... (1 Reply)
Discussion started by: Katabatic
1 Replies
6. Shell Programming and Scripting
This is the script:
#!/bin/sh
if ; then rm -rf /usr/share/WallpaperChanger; fi
if ; then rm -rf /usr/bin/wallch; fi;
if ; then rm -rf /usr/share/applications/wallch.desktop; fi
if ; then rm -rf /usr/share/doc/wallch; fi
if ; then rm -rf /usr/share/man/man1/wallch.1.gz; fi
echo "Delete... (4 Replies)
Discussion started by: hakermania
4 Replies
7. Shell Programming and Scripting
Hi,
I have line in input file as below:
3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL
My expected output for line in the file must be :
"1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL"
Can someone... (7 Replies)
Discussion started by: shis100
7 Replies
8. Programming
i may be asking way too much here but i am not a programmer and not sure where to to turn. i have a program that i am trying to "make". but the compiler i am supposed to use gets nowhere. there are a bunch of .f90 files that are being processed as follows but it doesn't get past the first one:
... (1 Reply)
Discussion started by: crimso
1 Replies
9. Shell Programming and Scripting
Dear Ladies & Gents,
I have a requirement to delete all the log files in /var/log/test directory that are older than 10 days and their first line begin with "MSH" or "<?xml" or "FHS". I've put together the following BASH script, but it's erroring out:
for filename in $(find /var/log/test... (2 Replies)
Discussion started by: Hiroshi
2 Replies
10. Shell Programming and Scripting
Hi,
There are 2 users (T886072 & T864764) that need to be provided full (rwx) access to a directory. I made the changes to the directory permissions using chmod and setfacl :
root@digidb2:# chmod 700 /u02/ftpfiles/MFRS16/discount_rates/
root@digidb2:# setfacl -s... (3 Replies)
Discussion started by: anaigini45
3 Replies
UMASK(3) 1 UMASK(3)
umask - Changes the current umask
SYNOPSIS
int umask ([int $mask])
DESCRIPTION
umask(3) sets PHP's umask to $mask & 0777 and returns the old umask. When PHP is being used as a server module, the umask is restored when
each request is finished.
PARAMETERS
o $mask
- The new umask.
RETURN VALUES
umask(3) without arguments simply returns the current umask otherwise the old umask is returned.
EXAMPLES
Example #1
umask(3) example
<?php
$old = umask(0);
chmod("/path/some_dir/some_file.txt", 0755);
umask($old);
// Checking
if ($old != umask()) {
die('An error occurred while changing back the umask');
}
?>
NOTES
Note
Avoid using this function in multithreaded webservers. It is better to change the file permissions with chmod(3) after creating the
file. Using umask(3) can lead to unexpected behavior of concurrently running scripts and the webserver itself because they all use
the same umask.
PHP Documentation Group UMASK(3)