Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

tux:sticky_bit [2011/10/14 19:45]
wikisysop [Spezielle UNIX Berechtigung: Sticky Bit]
tux:sticky_bit [2011/10/14 20:46] (aktuell)
wikisysop [Verzeichnisse mit Sticky Bit]
Zeile 1: Zeile 1:
 [[:tux|{{ :​linux.png?​40|}}]] [[:tux|{{ :​linux.png?​40|}}]]
 ===== Spezielle UNIX Berechtigung:​ Sticky Bit ===== ===== Spezielle UNIX Berechtigung:​ Sticky Bit =====
- 
 Das >><​fc #​008000>​t-Rech</​fc>​t<<,​ auch >><​fc #​008000>​Sticky Bit</​fc><<​ oder >><​fc #​008000>​Save Text Bit</​fc><<​ genannt, wirkt sich auf Verzeichnisse und Dateien unterschiedlich aus.  Das >><​fc #​008000>​t-Rech</​fc>​t<<,​ auch >><​fc #​008000>​Sticky Bit</​fc><<​ oder >><​fc #​008000>​Save Text Bit</​fc><<​ genannt, wirkt sich auf Verzeichnisse und Dateien unterschiedlich aus. 
  
 +==== Verzeichnisse mit Sticky Bit====
 Verwendung findet das >><​fc #​008000>​Sticky Bit</​fc><<​ uA bei Verzeichnissen,​ um User daran zu hindern __darin__ fremde Dateien oder Verzeichnisse zu löschen oder umzubenennen,​ obwohl sie diese ggf lesen, ausführen oder editieren dürfen. Um lesen, schreiben und ausführen zu dürfen, benötigt man die UNIX Berechtigung >><​fc #​008000>​rwx</​fc><<,​ was letztlich auch zur Folge hat, dass ein Benutzer, welcher diese Rechte besitzt, die Datei auch löschen darf. Nicht so, wenn auf dem Parent Directory (dem Verzeichnis in dem sich die Dateien oder Verzeichnisse,​ welche es zu schützen gilt, befinden) das >><​fc #​008000>​Sticky Bit</​fc><<​ gesetzt ist. Man erkennt das daran, dass an der letzten Stelle der UNIX Berechtigungen der Buchstabe >><​fc #​800000>​t</​fc><<​ steht; BSP: ''​drwxrwxrw<​fc #​800000>​t</​fc>''​. Löschen darf in solch einen Verzeichnis ausschließlich nur der Eigentümer der Datei oder des Verzeichnisses und der Super-User root. Verwendung findet das >><​fc #​008000>​Sticky Bit</​fc><<​ uA bei Verzeichnissen,​ um User daran zu hindern __darin__ fremde Dateien oder Verzeichnisse zu löschen oder umzubenennen,​ obwohl sie diese ggf lesen, ausführen oder editieren dürfen. Um lesen, schreiben und ausführen zu dürfen, benötigt man die UNIX Berechtigung >><​fc #​008000>​rwx</​fc><<,​ was letztlich auch zur Folge hat, dass ein Benutzer, welcher diese Rechte besitzt, die Datei auch löschen darf. Nicht so, wenn auf dem Parent Directory (dem Verzeichnis in dem sich die Dateien oder Verzeichnisse,​ welche es zu schützen gilt, befinden) das >><​fc #​008000>​Sticky Bit</​fc><<​ gesetzt ist. Man erkennt das daran, dass an der letzten Stelle der UNIX Berechtigungen der Buchstabe >><​fc #​800000>​t</​fc><<​ steht; BSP: ''​drwxrwxrw<​fc #​800000>​t</​fc>''​. Löschen darf in solch einen Verzeichnis ausschließlich nur der Eigentümer der Datei oder des Verzeichnisses und der Super-User root.
  
Zeile 27: Zeile 27:
 <​xterm>​$ <fc #​008000>​whoami</​fc>​ <​xterm>​$ <fc #​008000>​whoami</​fc>​
 pronto pronto
-pronto@MacPro:​tmp ​$ <fc #​008000>​groups pronto</​fc>​+$ <fc #​008000>​groups pronto</​fc>​
 staff admin everyone</​xterm>​ staff admin everyone</​xterm>​
 +
 +Ich darf also die Datei >><​fc #​008000>​echo.sh</​fc><<​ lesen:
 +
 +<​xterm>​$ <fc #​008000>​cat echo.sh</​fc> ​
 +#!/bin/bash
 +
 +echo Hello, world!</​xterm>​
 +
 +Ich darf sie ausführen:
 +
 +<​xterm>​$ <fc #​008000>​./​echo.sh</​fc> ​
 +Hello, world!</​xterm>​
 +
 +Ich darf sie sogar beschreiben:​
 +
 +<​xterm>​$ <fc #​008000>​echo "echo written by pronto"​ <​nowiki>>></​nowiki>​ echo.sh</​fc>​
 +$ <fc #​008000>​cat echo.sh</​fc> ​
 +#!/bin/bash
 +echo Hello, world!
 +echo written by pronto</​xterm>​
 +
 +Somit darf ich Lesen, Schreiben und Ausführen und wäre damit normalerweise auch in der Lage die Datei zu löschen, was in diesem Fall aber scheitert, weil auf das Parent Verzeichnis das >><​fc #​008000>​Sticky Bit</​fc><<​ gesetzt ist. Daran ändert auch die Tatsache, dass ich auch noch zu der Gruppe gehöre welcher die Datei gehört, nichts:
 +
 +<​xterm>​$ <fc #​008000>​rm echo.sh</​fc> ​
 +rm: echo.sh: Permission denied</​xterm>​
 +
 +Gesetzt werden kann das >>​Sticky Bit<< sowohl über die octale Schreibweise durch das Voranstellen einer >>​1<<​ bei der Angabe der Berechtigungen (zB 1777) wie auch durch die symbolische Schreibweise (zB +t).
 +
 +<​xterm>​$ <fc #​008000>​chmod 1777 sticky_folder1/</​fc>​
 +$ <fc #​008000>​chmod +t sticky_folder2</​fc></​xterm>​
 +
 + --- //pronto 2011/10/14 20:23//
 +{{keywords>​unix permissions sticky bit}}
tux/sticky_bit.1318614327.txt.gz (8538 views) · Zuletzt geändert: 2011/10/14 19:45 von wikisysop
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0