cvs commit: de-docproj/books/handbook/basics chapter.sgml

From: Benedict Reuschling <bcr(at)doc.bsdgroup.de>
Date: Thu, 23 Jul 2009 19:04:39 GMT

bcr 2009-07-23 19:04:39 UTC

  FreeBSD German Documentation Repository

  Modified files:
    books/handbook/basics chapter.sgml
  Log:
  MFen 1.154
  
  Neuen Abschnitt übersetzt, der setuid, setgid und das sticky bit bei
  den Datei- und Verzeichnisberechtigungen erläutert.
  
  Revision Changes Path
  1.107 +147 -2 de-docproj/books/handbook/basics/chapter.sgml
  
  Index: chapter.sgml
  ===================================================================
  RCS file: /home/cvs/de-docproj/books/handbook/basics/chapter.sgml,v
  retrieving revision 1.106
  retrieving revision 1.107
  diff -u -I$FreeBSDde.*$ -r1.106 -r1.107
  --- chapter.sgml 25 Mar 2008 19:39:58 -0000 1.106
  +++ chapter.sgml 23 Jul 2009 19:04:39 -0000 1.107
  @@ -2,9 +2,9 @@
        The FreeBSD Documentation Project
        The FreeBSD German Documentation Project
   
  - $FreeBSD$
  - $FreeBSDde: de-docproj/books/handbook/basics/chapter.sgml,v 1.106 2008/03/25 19:39:58 jkois Exp $
  - basiert auf: 1.153
  + $FreeBSD: doc/de_DE.ISO8859-1/books/handbook/basics/chapter.sgml,v 1.48 2008/03/26 19:02:44 jkois Exp $
  + $FreeBSDde: de-docproj/books/handbook/basics/chapter.sgml,v 1.107 2009/07/23 19:04:39 bcr Exp $
  + basiert auf: 1.154
   -->
   
   <chapter id="basics">
  @@ -677,6 +677,151 @@
           Informationen zu Datei-Flags finden sich in den Manualpages
           &man.chflags.1; und &man.chflags.2;.</para>
       </sect2>
  +
  + <sect2>
  + <sect2info>
  + <authorgroup>
  + <author>
  + <firstname>Tom</firstname>
  + <surname>Rhodes</surname>
  + <contrib>Beigetragen von </contrib>
  + </author>
  + </authorgroup>
  + </sect2info>
  +
  + <title>Die Berechtigungen setuid, setgid, und sticky</title>
  +
  + <para>Anders als die Berechtigungen, die bereits angesprochen wurden,
  + existieren drei weitere Einstellungen, &uuml;ber die alle
  + Administratoren Bescheid wissen sollten. Dies sind die Berechtigungen
  + <literal>setuid</literal>, <literal>setgid</literal> und
  + <literal>sticky</literal>.</para>
  +
  + <para>Diese Einstellungen sind wichtig f&uuml;r manche &unix;-Operationen,
  + da sie Funktionalit&auml;ten zur Verf&uuml;gung stellen, die
  + normalerweise nicht an gew&ouml;hnliche Anwender vergeben wird.
  + Um diese zu verstehen, muss der Unterschied zwischen der realen
  + und der effektiven Benutzer-ID erw&auml;hnt werden.</para>
  +
  + <para>Die reale Benutzer-ID ist die <acronym>UID</acronym>, welche den
  + Prozess besitzt oder gestartet hat. Die effektive
  + <acronym>UID</acronym> ist diejenige, als die der Prozess l&auml;uft.
  + Beispielsweise wird &man.passwd.1; mit der realen ID des Benutzers
  + ausgef&uuml;hrt, der sein Passwort &auml;ndert. Um jedoch die
  + Passwortdatenbank zu bearbeiten, wird es effektiv als
  + <username>root</username>-Benutzer ausgef&uuml;hrt. Das
  + erm&ouml;glicht es normalen Benutzern, ihr Passwort zu &auml;ndern, ohne
  + einen <errorname>Permission Denied</errorname>-Fehler angezeigt zu
  + bekommen.</para>
  +
  + <note>
  + <para>Die <literal>nosuid</literal> &man.mount.8;-Option wird daf&uuml;r
  + sorgen, dass diese Anwendungen stillschweigend scheitern. Genauer
  + gesagt, sie werden nicht ausgef&uuml;hrt und der Anwender wird
  + dar&uuml;ber auch nicht informiert. Auf diese Option kann man sich
  + nicht vollst&auml;ndig verlassen, da ein
  + <literal>nosuid</literal>-Wrapper in der Lage w&auml;re, dies zu
  + umgehen, wie in der &man.mount.8; Manualpage zu lesen ist.</para>
  + </note>
  +
  + <para>Die setuid-Berechtigung kann durch das Voranstellen bei einer
  + Berechtigungsgruppe mit der Nummer Vier (4) gesetzt werden, wie im
  + folgenden Beispiel gezeigt wird:</para>
  +
  + <screen>&prompt.root; <userinput>chmod 4755 suidexample.sh</userinput></screen>
  +
  + <para>Die Berechtigungen auf der
  + <filename><replaceable>suidexample.sh</replaceable></filename>-Datei
  + sollten jetzt wie folgt aussehen:</para>
  +
  + <programlisting>-rwsr-xr-x 1 trhodes trhodes 63 Aug 29 06:36 suidexample.sh</programlisting>
  +
  + <para>In dem Beispiel sollte auffallen, dass ein <literal>s</literal>
  + jetzt Teil der Berechtigungen des Dateibesitzers geworden ist, welches
  + das Ausf&uuml;hren-Bit ersetzt. Dies erm&ouml;glicht es Werkzeugen
  + mit erh&ouml;hten Berechtigungen zu laufen, wie z.B.
  + <command>passwd</command>.</para>
  +
  + <para>Um dies in Echtzeit zu beobachten, &ouml;ffnen Sie zwei Terminals.
  + Starten Sie auf einem den <command>passwd</command>-Prozess als normaler
  + Benutzer. W&auml;hrend es auf die Passworteingabe wartet,
  + &uuml;berpr&uuml;fen Sie die Prozesstabelle und sehen Sie sich die
  + Informationen des <command>passwd</command>-Kommandos an.</para>
  +
  + <para>Im Terminal A:</para>
  +
  + <screen>Changing local password for trhodes
  +Old Password:</screen>
  +
  + <para>Im Terminal B:</para>
  +
  + <screen>&prompt.root; <userinput>ps aux | grep passwd</userinput></screen>
  +
  + <screen>trhodes 5232 0.0 0.2 3420 1608 0 R+ 2:10AM 0:00.00 grep passwd
  + root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen>
  +
  + <para>Wie oben erw&auml;hnt, wird <command>passwd</command> von einem
  + normalen Benutzer ausgef&uuml;hrt, benutzt aber die effektive
  + <acronym>UID</acronym> von <username>root</username>.</para>
  +
  + <para>Die <literal>setgid</literal>-Berechtigung f&uuml;hrt die gleiche
  + Aktion wie die <literal>setuid</literal>-Berechtigung durch, allerdings
  + ver&auml;ndert sie die Gruppenberechtigungen. Wenn eine Anwendung
  + oder ein Werkzeug mit dieser Berechtigung ausgef&uuml;hrt wird,
  + erh&auml;lt es die Berechtigungen basierend auf der Gruppe, welche die
  + Datei besitzt und nicht die des Benutzers, der den Prozess gestartet
  + hat.</para>
  +
  + <para>Um die <literal>setgid</literal>-Berechtigung auf einer Datei zu
  + setzen, geben Sie dem <command>chmod</command>-Befehl eine
  + f&uuml;hrende Zwei (2) mit, wie im folgenden gezeigt:</para>
  +
  + <screen>&prompt.root; <userinput>chmod 2755 suidexample.sh</userinput></screen>
  +
  + <para>Die neue Einstellung kann wie zuvor betrachtet werden. Beachten Sie,
  + dass das <literal>s</literal> sich jetzt in dem Feld befindet, das
  + f&uuml;r die Berechtigungen der Gruppe bestimmt ist:<para>
  +
  + <screen>-rwxr-sr-x 1 trhodes trhodes 44 Aug 31 01:49 suidexample.sh</screen>
  +
  + <note>
  + <para>Obwohl es sich bei dem in diesen Beispielen gezeigten Shellskript
  + um eine ausf&uuml;hrbare Datei handelt, wird es nicht mit einer
  + anderen <acronym>EUID</acronym> oder effektiven Benutzer-ID
  + ausgef&uuml;hrt. Das ist so, weil Shellskripte keinen Zugriff auf
  + &man.setuid.2;-Systemaufrufe erhalten.</para>
  + </note>
  +
  + <para>Diese beiden ersten angesprochenen Spezialberechtigungen (die
  + <literal>setuid</literal> und <literal>setgid</literal>
  + Berechtigungs-Bits) k&ouml;nnen die Systemsicherheit verringern, da
  + sie erh&ouml;hte Rechte erm&ouml;glichen. Es gibt noch ein drittes
  + Berechtigungs-Bit, das die Sicherheit eines Systems erh&ouml;hen kann:
  + das <literal>sticky bit</literal>.</para>
  +
  + <para>Das <literal>sticky bit</literal> erlaubt, wenn es auf ein
  + Verzeichnis angewendet wird, nur dem Besitzer der Datei diese Dateien
  + auch zu l&ouml;schen. Dieses Recht ist n&uuml;tzlich, um die
  + L&ouml;schung von Dateien in &ouml;ffentlichen Verzeichnissen durch
  + Benutzer, denen diese Dateien nicht geh&ouml;ren, zu verhindern, wie
  + z.B. in <filename
  + class="directory">/tmp</filename>. Um diese Berechtigung anzuwenden,
  + stellen Sie der Berechtigung eine Eins (1) voran, beispielsweise
  + so:</para>
  +
  + <screen>&prompt.root; <userinput>chmod 1777 /tmp</userinput></screen>
  +
  + <para>Den Effekt k&ouml;nnen Sie sich ansehen, indem Sie
  + das Kommando <command>ls</command> ausf&uuml;hren:</para>
  +
  + <screen>&prompt.root; <userinput>ls -al / | grep tmp</userinput></screen>
  +
  + <screen>drwxrwxrwt 10 root wheel 512 Aug 31 01:49 tmp</screen>
  +
  + <para>Das <literal>sticky bit</literal> kann anhand des
  + <literal>t</literal> ganz am Ende der Berechtigungen abgelesen
  + werden.</para>
  + </sect2>
     </sect1>
   
     <sect1 id="dirstructure">
  

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-cvs-doc" in the body of the message
Received on Thu 23 Jul 2009 - 21:04:56 CEST

search this site