Say I have a umask of 44 what will be the permissions of newly created file myfile

Say I have a umask of 44 what will be the permissions of newly created file myfile
sobeservices2Asked:
Who is Participating?
 
dougaugCommented:
When creating files or directories in unix systems, unix combine full access modes for files and directories with "inverted" user mask like below to set permissions (full access mode for files is u=rw-,g=rw-,o=rw- or 666 in octal and for directories it is u=rwx,g=rwx,o=rwx or 777 in octal).

umask=044 (in binary 000 100 100) -> First octet is for owner permissions, second is for group and third for others. First byte (from left to right) is for read permission, second is for write and third is for execute.

When creating a file:
full access mode           = 666 (in binary 110 110 110)
umask                           = 044 (in binary 000 100 100)
Inverting bits in umask = 633 (in binary 111 011 011)

Set file permissions bitwise anding full access mode with inverted umask:
full access mode -> 110 110 110
bitwise and
Inverted umask  -> 111 011 011
permissions        -> 110 010 010
                                rw- -w-  -w-


When creating a directory:
full access mode           = 777 (in binary 111 111 111)
umask                           = 044 (in binary 000 100 100)
Inverting bits in umask = 633 (in binary 111 011 011)

Set file permissions bitwise anding full access mode with inverted umask:
full access mode -> 111 111 111
bitwise and
Inverted umask  -> 111 011 011
permissions        -> 111 011 011
                                rwx -wx -wx
0
 
dougaugCommented:
user = rw
group = w
others = w

rw- -w- -w-
0
 
sobeservices2Author Commented:
dougaug could you explain your answer a little more

umask creates directory permissions right?

not file permissions?
0
 
tomy123Commented:
When you set the umask as 44 then the default permission for directories will be as follows
u=rwx,g=wx,o=wx

user- read,write,and execute
group-write and execute
others- write and execute

For the case of files the permission will be as follows
rw--w--w-

User- read and write
group = write
others = write

0
 
TintinCommented:
Easiest way to work it out is either by just trying it, or doing the calculation

For a file it's

666
044
-----
622

For a directory it's

777
044
-----
733
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.