Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung Letzte Überarbeitung Beide Seiten, nächste Überarbeitung | ||
admin_grundlagen:dateirechte [2020/12/08 08:28] ingo_wichmann [Links] |
admin_grundlagen:dateirechte [2021/02/17 09:31] ingo_wichmann [Übung: Weniger Rechte für Eigentümer und Gruppe] |
||
---|---|---|---|
Zeile 21: | Zeile 21: | ||
* Dateien die Berechtigung ''%%rw- r-- -w-%%'' und | * Dateien die Berechtigung ''%%rw- r-- -w-%%'' und | ||
* Verzeichnisse die Berechtigung ''rwx r-x -w-'' | * Verzeichnisse die Berechtigung ''rwx r-x -w-'' | ||
- | bekommen. | + | bekommen? |
====== Befehle Dateirechte ====== | ====== Befehle Dateirechte ====== | ||
^ Dateizugriffsrechte betrachten | | ^ Dateizugriffsrechte betrachten | | ||
Zeile 56: | Zeile 56: | ||
| | | | ||
^ Allen Programmen das Ausführungsrecht nehmen | | ^ Allen Programmen das Ausführungsrecht nehmen | | ||
- | find verzeichnis/ -type f -perm /0111 -exec chmod a-x {} + | + | find verzeichnis/ -type f -perm /0111 -exec chmod a-x {} \; |
+ | find verzeichnis/ -type f -perm /0111 -print0 | xargs -0 chmod a-x | ||
| | | | ||
Zeile 114: | Zeile 115: | ||
Tip: | Tip: | ||
- | Das Schreiben von Dateien kann man zerstörungsfrei mit | + | Das Lesen (''r'') von Dateien kann man mit |
+ | head -0 /tmp/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 | ||
>> /tmp/datei356 | >> /tmp/datei356 | ||
testen. | testen. | ||
- | Das Lesen von Dateien kann man mit | ||
- | tail /tmp/datei356 | ||
- | testen. | ||
(( | (( | ||
sysctl fs.protected_regular | sysctl fs.protected_regular | ||
Zeile 128: | Zeile 129: | ||
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 | ||
+ | /tmp/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 | ||
useradd -m -G projekt iw | useradd -m -G projekt iw | ||
touch /tmp/datei | touch /tmp/datei | ||
- | chown root:projekt | + | chown root:projekt /tmp/datei |
chmod g+w /tmp/datei | chmod g+w /tmp/datei | ||
su - iw | su - iw | ||
Zeile 163: | Zeile 162: | ||
ls -l /home | ls -l /home | ||
- | Daher sollte man nach dem Löschen einer Benutzerkennung sämtliche Dateien, die diesem Benutzer gehörten, als ''root'' übernehmen oder einem anderen, für diesen Zweck erstellten technischen Benutzer übereignen. | + | Daher sollte man vor oder nach dem Löschen einer Benutzerkennung sämtliche Dateien, die diesem Benutzer gehörten, als ''root'' übernehmen oder einem anderen, für diesen Zweck erstellten technischen Benutzer übereignen. |
====== Beispiel: SUID-Bit Dateien finden und SUID-Bit dauerhaft entfernen ====== | ====== Beispiel: SUID-Bit Dateien finden und SUID-Bit dauerhaft entfernen ====== | ||
SUID-Bit Dateien finden (als root): | SUID-Bit Dateien finden (als root): |