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, ü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ür manche &unix;-Operationen,
+ da sie Funktionalitäten zur Verfügung stellen, die
+ normalerweise nicht an gewöhnliche Anwender vergeben wird.
+ Um diese zu verstehen, muss der Unterschied zwischen der realen
+ und der effektiven Benutzer-ID erwä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äuft.
+ Beispielsweise wird &man.passwd.1; mit der realen ID des Benutzers
+ ausgeführt, der sein Passwort ändert. Um jedoch die
+ Passwortdatenbank zu bearbeiten, wird es effektiv als
+ <username>root</username>-Benutzer ausgeführt. Das
+ ermöglicht es normalen Benutzern, ihr Passwort zu ändern, ohne
+ einen <errorname>Permission Denied</errorname>-Fehler angezeigt zu
+ bekommen.</para>
+
+ <note>
+ <para>Die <literal>nosuid</literal> &man.mount.8;-Option wird dafür
+ sorgen, dass diese Anwendungen stillschweigend scheitern. Genauer
+ gesagt, sie werden nicht ausgeführt und der Anwender wird
+ darüber auch nicht informiert. Auf diese Option kann man sich
+ nicht vollständig verlassen, da ein
+ <literal>nosuid</literal>-Wrapper in der Lage wä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ühren-Bit ersetzt. Dies ermöglicht es Werkzeugen
+ mit erhöhten Berechtigungen zu laufen, wie z.B.
+ <command>passwd</command>.</para>
+
+ <para>Um dies in Echtzeit zu beobachten, öffnen Sie zwei Terminals.
+ Starten Sie auf einem den <command>passwd</command>-Prozess als normaler
+ Benutzer. Während es auf die Passworteingabe wartet,
+ überprü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ähnt, wird <command>passwd</command> von einem
+ normalen Benutzer ausgeführt, benutzt aber die effektive
+ <acronym>UID</acronym> von <username>root</username>.</para>
+
+ <para>Die <literal>setgid</literal>-Berechtigung führt die gleiche
+ Aktion wie die <literal>setuid</literal>-Berechtigung durch, allerdings
+ verändert sie die Gruppenberechtigungen. Wenn eine Anwendung
+ oder ein Werkzeug mit dieser Berechtigung ausgeführt wird,
+ erhä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ü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ü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ührbare Datei handelt, wird es nicht mit einer
+ anderen <acronym>EUID</acronym> oder effektiven Benutzer-ID
+ ausgefü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önnen die Systemsicherheit verringern, da
+ sie erhöhte Rechte ermöglichen. Es gibt noch ein drittes
+ Berechtigungs-Bit, das die Sicherheit eines Systems erhö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öschen. Dieses Recht ist nützlich, um die
+ Löschung von Dateien in öffentlichen Verzeichnissen durch
+ Benutzer, denen diese Dateien nicht gehö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önnen Sie sich ansehen, indem Sie
+ das Kommando <command>ls</command> ausfü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