OpenPKG CVS Repository
  http://cvs.openpkg.org/
  ____________________________________________________________________________

  Server: cvs.openpkg.org                  Name:   Thomas Lotterer
  Root:   /e/openpkg/cvs                   Email:  [EMAIL PROTECTED]
  Module: openpkg-doc                      Date:   02-Apr-2003 15:02:16
  Branch: HEAD                             Handle: 2003040214021500

  Modified files:
    openpkg-doc/handbook    openpkg.xml

  Log:
    rewrite documentation about "Userids and Groupids"

  Summary:
    Revision    Changes     Path
    1.69        +61 -25     openpkg-doc/handbook/openpkg.xml
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: openpkg-doc/handbook/openpkg.xml
  ============================================================================
  $ cvs diff -u -r1.68 -r1.69 openpkg.xml
  --- openpkg-doc/handbook/openpkg.xml  2 Apr 2003 10:04:29 -0000       1.68
  +++ openpkg-doc/handbook/openpkg.xml  2 Apr 2003 13:02:15 -0000       1.69
  @@ -716,14 +716,52 @@
       <sect1 id='security-usergroup'>
         <title>Security Through Userids and Groupids</title>
         <para>
  -        OpenPKG installs three userid and groupid pairs during bootstrap.
  -        OpenPKG is designed with good security in mind, and thus provides four
  -        userid and groupid pairs. Whereas one pair might often suffice, the
  -        four distinct pairs allow for finer granularity. In some cases, a
  -        software application will actually require a more privileged or less
  -        privileged user and group pair in addition to the normal pair. Many
  -        daemon packages use such special users and groups for improving
  -        security, for example.
  +        Many daemon packages use special users and groups for improving
  +        security. OpenPKG uses four distinct Unix user/group id pairs.
  +        They are specified during the bootstrap process of an instance.
  +        The eight names can either be set individually or a common
  +        prefix can be specified.  Existing system users can be choosen
  +        to allow indirect control of user/group numbers and to integrate
  +        OpenPKG into enterprise environments with networked (i.e. NIS,
  +        LDAP) account management.  It's up to the administrator to
  +        decide if one or more OpenPKG user/group functionalities use the
  +        same account, whether preexisting system accounts are being used
  +        or not and if accounts are reused accross OpenPKG instances and
  +        even machines. In case of a non-privileged OpenPKG instance, all
  +        users and groups usually map to a single pair.  Please note that
  +        some software packages (i.e.  sendmail, postfix) actually
  +        require the user/group ids to be different. They verify this at
  +        run-time and will refuse to work if the setup violates their
  +        hardcoded security policies.  The pay off consolidating multiple
  +        OpenPKG user/group functionalities into a single Unix account is
  +        the inability to continue use of those applications.  In fact,
  +        enabling those applications were the driving force behind
  +        OpenPKG to support multiple users.
  +      </para>
  +      <para>
  +        Please understand that while additional users and groups help to
  +        isolate OpenPKG from the host and one OpenPKG instance from
  +        another, the gain in security is still small.  To protect files
  +        from being accidentally overwritten during development of a
  +        package, a developer must use the OpenPKG feature of building a
  +        package as non-root. Even this is not perfect and sometimes it's
  +        best to dedicate a machine to development.  Installing and
  +        maintaining daemons, set-uid executables etc. still requires the
  +        system administrator to work as "root" or at least begin
  +        administration as "root" and substitute user identity with the
  +        OpenPKG management user using su(1) or a similar mechanism.
  +        Trying to use the additional accounts to exclusively subdelegate
  +        administration or to protect the host from OpenPKG
  +        instance managers is a waste of time as the managers can easily
  +        overwrite files (i.e. cron jobs) which are eventually executed
  +        by the superuser. To increase protection of the host and between
  +        OpenPKG instances, additional precautions must be taken. Using
  +        chroot(1M) on Linux or Solaris aka chroot(8) on FreeBSD is a
  +        step in the right direction but it is limited to separating
  +        access to files, not sockets or any system calls. Today, the
  +        fullest segregation can be achieved through deployment of
  +        <ulink url='http://www.solucorp.qc.ca/miscprj/s_context.hc'>vserver</ulink>
  +        for Linux or jail(8) for FreeBSD.
         </para>
         <para>
           As described in <xref linkend='bstrap-linked'/>, the installing
  @@ -732,19 +770,15 @@
           indicates the management user and group. If the administrator does not
           explicitly specify the additional superuser, restricted and
           non-privileged user and group names, they will be determined by using
  -        the given management user and group names as a template.
  +        the given management user and group names as a prefix.
   
  -        By default, the restricted user name will match that of the management
  -        user, adding a '-r' extension. The non-privileged user name will match
  -        that of the management user, but add a '-n' extension instead. The
  -        superuser user name is 'root' by default.
  +        By default, the restricted user name will match that of the
  +        management user, adding a '-r' extension. The non-privileged
  +        user name will match that of the management user, but add a '-n'
  +        extension instead. The superuser user name is 'root' by default.
  +        The OpenPKG groupids are handled in the same way. 
   
  -        The new OpenPKG groupids are handled in the same way. For example, if
  -        an OpenPKG instance is bootstrapped to the directory called 'cw', then
  -        the four associated userids will be 'cw', 'cw-r', 'cw-n', and 'root'.
  -        The four associated groupids will be 'cw', 'cw-r', 'cw-n', and 'root'
  -        or 'wheel' (or whatever the system-particular superuser group name
  -        is). The administrator can read the unix password file
  +        The administrator can read the unix password file
           <filename>/etc/passwd</filename> and unix group file
           <filename>/etc/group</filename> to see the new entries.
         </para>
  @@ -752,7 +786,7 @@
         <title>Arguments given during bootstrap</title>
         <para>
           The additional user and group names may be customized to suit the
  -        needs of the administrator. Additional arguments may be give when
  +        needs of the administrator. Additional arguments may be given when
           running the bootstrapper (see <xref linkend='bstrap-overview'/>) to
           accommodate special user and group names. Specify the name of the
           management user with --musr=&lt;name&gt;, the restricted user with
  @@ -808,11 +842,13 @@
       <title>Using the Userid and Groupid Variables</title>
   <!-- FIXME: Give a small user summary, expand, and move following to developer 
section -->
         <para>
  -        These user and group names can be queried from within the OpenPKG
  -        specification file. The variables %{l_musr}, %{l_rusr}, and %{l_nusr}
  -        expand to the management, restricted, and non-privileged users. The
  -        variables %{l_mgrp}, %{l_rgrp}, and %{l_ngrp} expand to the
  -        management, restricted, and non-privileged groups.
  +        These user and group names can be queried from within the
  +        OpenPKG specification file. The variables %{l_musr}, %{l_rusr},
  +        %{l_nusr} and %{l_susr}
  +        expand to the management, restricted, non-privileged and
  +        superuser. The variables %{l_mgrp}, %{l_rgrp}, %{l_ngrp} and
  +        %{l_susr} expand to the management, restricted, and
  +        non-privileged groups.
         </para>
       </sect2>
       </sect1>
  @@ .
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
CVS Repository Commit List                     [EMAIL PROTECTED]

Reply via email to