[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

user/group -- my compromise proposal



Ok.  I've been following the debate silently since it began, and I
think that both sides have valid arguments.  What follows is how I
plan to implement it in 0.92, so please comment ASAP.  I want to get
0.92 out soon and don't want to delay much longer.  But I also agree
with Ian Jackson that if we're going to do it we must do it _now_, so
please comment before it's too late...

First of all, my experimentation has led to the following changes in
the default Debian system.  These make the task of kernel upgrading
and local software installation much easier (and without the need to
use the root account):

* Any users in the `disk' and `src' groups may compile and install a new
  kernel image (being a member of the `disk' group is necessary for the
  use of lilo).  The kernel image has been moved to /boot and there is a
  symlink from /vmlinux -> /boot/vmlinux.  The directory permissions are
  as follows:

  drwxrwsr-x   2 root     src          1024 Mar 23 00:39 /boot/
  drwxrwsr-x   4 root     src          1024 Mar 23 00:11 /usr/src/linux

* Any users in the `staff' group may compile and install software
  under /usr/local.  The directory permissions are as follows:

  drwxrwsr-x   4 root     staff        1024 Mar 24 00:31 /usr/src/

  [ This is /usr/local. ]

  drwxrwsr-x  12 root     staff        1024 Mar 20 23:43 ./
  drwxr-xr-x  16 root     root         1024 Mar 22 23:33 ../
  drwxrwsr-x   2 root     staff        1024 Mar 23 00:43 bin/
  drwxrwsr-x   2 root     staff        1024 Mar 22 22:50 doc/
  drwxrwsr-x   2 root     staff        1024 Mar 22 22:50 etc/
  drwxrwsr-x   4 root     staff        1024 Mar 22 22:50 games/
  drwxrwsr-x   2 root     staff        1024 Mar 22 22:50 include/
  drwxrwsr-x   2 root     staff        1024 Mar 23 00:47 info/
  drwxrwsr-x   3 root     staff        1024 Mar 14 16:52 lib/
  drwxrwsr-x   2 root     staff        1024 Mar 22 22:50 man/
  drwxrwsr-x   2 root     staff        1024 Mar 23 00:44 sbin/
  drwxrwsr-x   6 root     staff        1024 Mar 23 23:56 src/

  [...]

Note that /bin, etc. will remain the same permission-wise (755,
root.bin) because adding software to these directories should be
discouraged.

Regarding project groups and the user/group debate, I am adding an
option to adduser that will do the following:

  * create a GID = UID and make it the user's default group
  * create a home directory for the user of mode 2775 and owner UID.GID
  * change the umask in the _user's_ .profile to 002.
  * add the user to any groups specified

Note that the _system_ umask (the one in /etc/profile) will remain
022.  This will allow only those users requiring special group access
to use the new scheme by overriding the default with 002.  Not every
user will need such access, but those who do (or system administrators
who want their system to use such a scheme) may easily do so.

I hope this will make everyone happy.  The methods are not mutually
exclusive and can indeed co-exist.

(Would it be wise to start the user UIDs at 500 instead of 100?  I
don't forsee much of a conflict after 500, but I can at 100...)

Ian Murdock <imurdock@gnu.ai.mit.edu>


Reply to: