5

I d like to set the home directories permissions as 755 when i add the user via useradd.

How can i do this?

Thanks.

5 Answers 5

4

Look at the UMASK parameter in /etc/login.defs:

UMASK (number) The permission mask is initialized to this value. It is used by useradd and newusers for creating new home directories. If not specified, the permission mask will be initialized to 0077.

(from man login.defs)

This is a mask, so the default of 0077 will give you home directory permissions 700, 0022 will give 755.

Interestingly, OpenSuse uses 0022 by default.

If you want to change the default permissions for the files your users create in their home directories, you need the umask command. This can be run from /etc/profile for example.

1
  • using the /etc/profile or /etc/bashrc as mentioned, it's also best to restrict things to a certain group of users (mainly so that you don't screw up root), ala: if [ id -gn = mygroup ]; then umask 0002 fi This would set all members of 'mygroup' to have 0775/0664 perms upon login, handy for dev servers where code is shared by a group of engineers.
    – user15590
    Jan 2, 2010 at 20:13
7

I know its a quite old post, however:

useradd -K UMASK=0077

1

I believe this is the answer for your question :

/etc/login.defs

here you can define default values for useradd.

--
Regards,
Robert

1
  • If this is not the way you wanted then probably only some shell script will resolve your prorblem.
    – Robert
    Jan 2, 2010 at 19:38
0

You could write a wrapper utility script that calls both useradd and chmod.

But why would you want this? People expect /home/username to be private. It probably would be better to give a separate, shared directory to each user.

1
  • :) I m aware of suggestion. I just want to do it like this for some purpose. sorry but i dont like the script idea.
    – user30597
    Jan 2, 2010 at 19:07
0

You could use ''adduser'' after editing the /etc/adduser.conf file and setting DIR_MODE=0755. That's opposed to ''useradd'' There are various customisations that you can do in /etc/adduser.conf.

What linux are you using. Ubuntu has ''adduser''.

0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .