Operating System - HP-UX
1827732 Members
3126 Online
109968 Solutions
New Discussion

Re: how to change the default umask of root

 
Mallikarjun B
Occasional Advisor

how to change the default umask of root

Hi,
I ahve a pre installed HP UX system 11.31 with default umask 077 how i can change thw default umask. I dont want to change in .profile file i.e umask 022. Is there any file i have to make changes?..


Thanks,
Mallikarjun Belkunde
18 REPLIES 18
Michael Steele_2
Honored Contributor

Re: how to change the default umask of root

Hi

"...I dont want to change in .profile file i.e umask 022..."

In hp-ux the default root shell is posix and posix uses .profile to execute its setup environment.

You can not change this.

If you do, i.e., go into /etc/password and change sh to ksh or csh, then you make the box unbootable, and you have to boot into single user or LVM maint mode and change /etc/passwd back to sh.
Support Fatherhood - Stop Family Law
Michael Steele_2
Honored Contributor

Re: how to change the default umask of root

Note that I am also guessing the answer to your question here because you both ask and answer by saying "...I don't want to change 'umask' in .profile...".

This is the only place you can change umask's default setting, and that will only affect the /root home directory login.

Any other place, the only other place being /etc/profile, affects every new file or directory made in the O/S and now puts the O/S into an unknown state.

'umask' is made for home directory manipulation only when placed in the login shell environment set up file, i.e., .login, .profile, .cshrc. 'umask' in /etc/profile is for the entire O/S.
Support Fatherhood - Stop Family Law
Michael Steele_2
Honored Contributor

Re: how to change the default umask of root

You know I'm going to have to back off on that "... /etc/profile is for the rest of the O/S and putting 'umask' in there will put the O/S into an unknown state...". /etc/profile will only affect new files and dirs during the user login process.

So try putting 'umask' in /etc/profile and test it out.

a) vi /etc/profile add 'umask 022' at bottom.
Verify other occurances of umask in /etc/profile but don't comment them out.

b) su - users
c) touch files

See if you get what you're looking for.
Support Fatherhood - Stop Family Law
Dennis Handly
Acclaimed Contributor

Re: how to change the default umask of root

umask for what? Various types of root logins, cron or demons?
Mallikarjun B
Occasional Advisor

Re: how to change the default umask of root

HI,
I think i have to chk in /etc/profile file. I will check today in off. and will try the solution.Some of not getting the point. That i have installed system having umask 077 and i want to change the umask to 022 without editing the /.profile file.



Thanks,
Mallikarjun Belkunde
Johnson Punniyalingam
Honored Contributor

Re: how to change the default umask of root

>>>That i have installed system having umask 077 <<<<<<

what have you installed ? you mean new installation ..?


man umask (should be able to help to understand your requirement >>i want to change the umask to 022 change the umask to 022 without editing the /.profile file.<<<
Problems are common to all, but attitude makes the difference
Chandrahasa s
Valued Contributor

Re: how to change the default umask of root

Hi,

You can find umask value set in /etc/profile you change the umask value here if umask entry not available you can add

umask 022

Chandra
Dennis Handly
Acclaimed Contributor

Re: how to change the default umask of root

>Some of not getting the point.

What are you trying to do that you can't edit /.profile?

>I want to change the umask to 022 without editing the /.profile file.

As mentioned several times, you could also edit /etc/profile to effect all real shell users.
Michael Steele_2
Honored Contributor

Re: how to change the default umask of root

Oh, I believe the instructor is asking you to run umask from the command line, and to verify with umask -S for korn shell or just 'umask' for an octal value.

The umask value will be saved via a symbolic env link.

Run info env to read more.
Support Fatherhood - Stop Family Law
Dennis Handly
Acclaimed Contributor

Re: how to change the default umask of root

>Michael: to verify with umask -S for korn shell

ksh doesn't have -S, only indirectly through the Posix shell, /usr/bin/umask.

>The umask value will be saved via a symbolic env link. Run info env to read more.

Huh? What's a symbolic env link?
umask(1) isn't part of environ(5), so won't show up with env(1).
Michael Steele_2
Honored Contributor

Re: how to change the default umask of root

Dennis

Pssst (* yes it does *)
Support Fatherhood - Stop Family Law
Patrick Wallek
Honored Contributor

Re: how to change the default umask of root

If you use the ksh shell built-in for umask, the '-S' option doesn't work. If you call /usr/bin/umask specifically, '-S' does work.

$ ksh
$ umask â S
ksh: umask: bad format
$ /usr/bin/umask â S
u=rwx,g=rwx,o=
Dennis Handly
Acclaimed Contributor

Re: how to change the default umask of root

>Patrick: If you use the ksh shell built-in for umask, the '-S' option doesn't work. If you call /usr/bin/umask specifically, '-S' does work.

Yes, that's what I said. And the latter can only display the result, not change it.
CIBER Unix
Occasional Advisor

Re: how to change the default umask of root

You can type the command "umask 022" at the command prompt.
madhuchakkaravarthy
Trusted Contributor

Re: how to change the default umask of root

hi
Add umask ur value in /etc/profile

regards
Mc

CRbosupportohp
Occasional Contributor

Re: how to change the default umask of root

Hi,

I need to understand where the Operating System make default permission 666 on files and 777 on directory.

Ask that because have found under a system running HP-UX 11.11 this default and on many other the default is 022. In both case no umask definition is present under .profile or /etc/profile file. This behaviour is for all users account.

Thanks

Dennis Handly
Acclaimed Contributor

Re: how to change the default umask of root

>I need to understand where HP-UX makes default permission 666 on files and 777 on directory.

 

This will occur if umask is 0.  The values 666 and 777 are hardcoded into the various programs that create files and directories.

 

>In both case no umask definition is present under .profile or /etc/profile file.

 

If there is no definition, it is inherited from the parent process, which maybe inetd,

Bill Hassell
Honored Contributor

Re: how to change the default umask of root

The default for HP-UX (meaning as it is shipped or cold-installed) is no umask in /etc/profile or .profile. If you find umask in either of these files, it was added by the root user. To verify this, you can always look in /usr/newconfig where copies of the original files are kept. If umask is not explicitly executed, then the umask is 000 (or 00 which is the same value). umask simply removes permissions from a file or directory starting point. For files, it is 666 and 777 for directories.

 

The reason that files are 666 is that 777 would add the execution bit to all files, something that is undesirable and totally unnecessary. 777 files are by best definition, useless and by the worst definition, dangerous. 777 means that anyone can trash the contents of the file. Or worse, the file will be accidently run and the contents may cause very unexpected results.

 

For directories, 777 is also questionable although there are specific directories where this is the default. /var/tmp and /tmp are good examples. 777 means that any user can create files and directories, but worse, any user can delete any file or directory in this directory. To bring some sort of order to this chaos, most sysadmins recommend 1777 as the proper permission for /var/tmp or /tmp which prevents removal or renaming of files and directories except by the owner.

 

As far setting umask without editing .profile, this is an illogical request. When the shell starts (POSIX, Bourne, ksh, etc), /etc/profile is run and the settings added to the current environment. Once /etc/profile is finished (standard version) then .profile is run. So you can set umask to any value you want in /etc/profile, but it will be replaced by any umask that is in .profile. So the last step in login is .profile and that's what the shell will inherit.



Bill Hassell, sysadmin