Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
|
admin_grundlagen:dateirechte [2021/02/08 16:49] holger_jakobs [Beispiel: Ungewollter Eigentümerwechsel nach dem Löschen eines Nutzers] |
admin_grundlagen:dateirechte [2021/02/17 10:55] (aktuell) ingo_wichmann [Übung: Weniger Rechte für Eigentümer und Gruppe] |
||
|---|---|---|---|
| Zeile 99: | Zeile 99: | ||
| ====== Übung: Weniger Rechte für Eigentümer und Gruppe ====== | ====== Übung: Weniger Rechte für Eigentümer und Gruppe ====== | ||
| - | Erzeuge eine Datei ''/tmp/datei356'' mit folgendem Inhalt: | + | Erzeuge ein Verzeichnis ''/srv/open'' mit großzügigen Berechtigungen: |
| - | <file txt /tmp/datei356> | + | mkdir -m 777 /srv/open |
| + | Erzeuge eine Datei ''/srv/open/datei356'' mit folgendem Inhalt: | ||
| + | <file txt /srv/open/datei356> | ||
| #!/bin/bash | #!/bin/bash | ||
| echo executable | echo executable | ||
| Zeile 106: | Zeile 108: | ||
| Setze die Berechtigungen zu ''356'': | Setze die Berechtigungen zu ''356'': | ||
| - | chmod 356 /tmp/datei356 | + | chmod 356 /srv/open/datei356 |
| Wer darf was? | Wer darf was? | ||
| Zeile 115: | Zeile 117: | ||
| Tip: | Tip: | ||
| - | Das Schreiben von Dateien kann man zerstörungsfrei mit | + | Das Lesen (''r'') von Dateien kann man mit |
| - | >> /tmp/datei356 | + | head -0 /srv/open/datei356 |
| + | testen. ((''head -0'' zeigt die ersten 0 Zeilen, also nichts, aber öffnet die Datei. Im Fehlerfall erscheint eine Meldung. )) | ||
| + | Das Schreiben (''w'') von Dateien kann man zerstörungsfrei mit | ||
| + | >> /srv/open/datei356 | ||
| testen. | testen. | ||
| - | Das Lesen von Dateien kann man mit | ||
| - | tail /tmp/datei356 | ||
| - | head -0 /tmp/datei356 | ||
| - | testen. ''head -0'' zeigt die ersten 0 Zeilen, also nichts, aber öffnet die Datei. Im Fehlerfall erscheint allerdings eine Meldung, die man ggf. umlenken muss, wenn einem der Exit Status genügt. | ||
| (( | (( | ||
| sysctl fs.protected_regular | sysctl fs.protected_regular | ||
| Zeile 130: | Zeile 131: | ||
| https://www.kernel.org/doc/Documentation/sysctl/fs.txt: | https://www.kernel.org/doc/Documentation/sysctl/fs.txt: | ||
| //This protection is similar to protected_fifos, but it | //This protection is similar to protected_fifos, but it | ||
| - | avoids writes to an attacker-controlled regular file, where a program | + | avoids writes to an attacker-controlled regular file, where a program expected to create one. |
| - | expected to create one. | + | |
| When set to "0", writing to regular files is unrestricted. | When set to "0", writing to regular files is unrestricted. | ||
| - | When set to "1" don't allow O_CREAT open on regular files that we | + | When set to "1" don't allow O_CREAT open on regular files that we don't own in world writable sticky directories, unless they are owned by the owner of the directory. |
| - | don't own in world writable sticky directories, unless they are | + | |
| - | owned by the owner of the directory. | + | |
| When set to "2" it also applies to group writable sticky directories.// | When set to "2" it also applies to group writable sticky directories.// | ||
| - | |||
| )) | )) | ||
| + | Das Ausführen (''x'') kann man testen, in dem man | ||
| + | /srv/open/datei356 | ||
| + | ausführt. | ||
| ====== Beispiel: Gruppenzugehörigkeiten kleben am Prozess länger als man denkt ====== | ====== Beispiel: Gruppenzugehörigkeiten kleben am Prozess länger als man denkt ====== | ||
| groupadd projekt | groupadd projekt | ||