# Linux: Spezialbits

| | SetUID-Bit | SetGID-Bit | Sticky-Bit |
|-|------------|------------|--------|
| Oktalwert für chmod | 4000 | 2000 | 1000 |
| Bit setzen  | <nobr>`chmod u+s objekt`</nobr> | <nobr>`chmod g+s objekt`</nobr> | <nobr>`chmod o+t objekt`</nobr> |
| Bit löschen | `chmod u-s objekt` | `chmod g-s objekt ` | `chmod o-t objekt` |
| `ls -l`     | `..s ... ...` <br> (statt) `..x ... ...`<br>`..S ... ...` <br> (statt) `..- ... ...`| `... ..s ...` <br> (statt) `... ..x ...`<br>`... ..S ...` <br> (statt) `... ..- ...` |  `... ... ..t` <br> (statt) `... ... ..x`<br>`... ..T ...` <br> (statt) `... ... ..-`  |
| Bedeutung für<br>ausführbare Programmdateien<br>(keine bash-Skripte) |  Programme werden so ausgeführt, als hätte der Besitzer sie gestartet.<br>Beispiel: `/usr/bin/passwd` | Programme werden mit den Rechten der Gruppe des Programms ausgeführt, anstatt mit den Rechten der Gruppe des Ausführenden. | - |
| Bedeutung für Verzeichnisse | - | Neue Dateien erhalten GID des Verzeichnisses, anstatt der GID des Erstellers | Jeder darf nur eigene Dateien löschen, aber nicht die Dateien anderer. Beispiel: `/tmp/` |

### Oktalwerte der einzelnen Bits
```
SetUID   SetGID   Sticky    r   w   x     r   w   x     r   w   x
   |        |        |      |   |   |     |   |   |     |   |   |
   4000     |        |     0400 |   |   0040  |   |  0004   |   |
            |        |          |   |         |   |         |   |
            2000     |         0200 |       0020  |      0002   |
                     |              |             |             |
                     1000          0100         0010         0001
```
