admin_grundlagen:dateirechte
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige Überarbeitung | ||
| admin_grundlagen:dateirechte [2016/11/11 23:21] – ingo_wichmann | admin_grundlagen:dateirechte [2021/02/17 10:55] (aktuell) – [Übung: Weniger Rechte für Eigentümer und Gruppe] ingo_wichmann | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== Übung: finde die minimal nötigen Berechtigungen ====== | ||
| + | |||
| + | mkdir -m 000 /tmp/dir1 /tmp/dir2 | ||
| + | echo geheim > file1 | ||
| + | chmod 000 file1 | ||
| + | |||
| + | Welche (minimalen) Berechtigungen müssen jeweils bei ''/ | ||
| + | cp file1 / | ||
| + | ins Verzeichnis ''/ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | Welche (minimalen) Berechtigungen müssen jeweils bei ''/ | ||
| + | mv / | ||
| + | ins Verzeichnis '' | ||
| + | |||
| + | |||
| + | ====== Übung: mit umask Berechtigung setzen ====== | ||
| + | |||
| + | Welche '' | ||
| + | * Dateien die Berechtigung '' | ||
| + | * Verzeichnisse die Berechtigung '' | ||
| + | bekommen? | ||
| ====== Befehle Dateirechte ====== | ====== Befehle Dateirechte ====== | ||
| - | === Benutzer anlegen === | + | ^ Dateizugriffsrechte betrachten |
| - | useradd -m benutzer | + | |
| - | === Benutzer löschen === | + | |
| - | userdel -r benutzer | + | |
| - | + | ||
| - | === Dateizugriffsrechte betrachten | + | |
| ls -l datei | ls -l datei | ||
| - | === Verzeichnisrechte betrachten | + | | |
| + | ^ Dateizugriffsrechte von Dateien im Verzeichnis betrachten | | ||
| + | ls -l verzeichnis | ||
| + | | | ||
| + | ^ Verzeichnisrechte betrachten | ||
| ls -ld verzeichnis | ls -ld verzeichnis | ||
| - | + | | | |
| - | === Besitzer der Datei ändern | + | ^ Besitzer der Datei ändern |
| chown benutzer datei | chown benutzer datei | ||
| - | === Gruppe der Datei ändern | + | | |
| + | ^ Gruppe der Datei ändern | ||
| chown :users datei | chown :users datei | ||
| chgrp users datei | chgrp users datei | ||
| - | + | | | |
| - | === SUID Recht der Datei ändern === | + | ^ SUID Recht für die Datei ''/ |
| - | chmod u+s programm | + | |
| - | + | ||
| - | programm | + | |
| - | ps -eo cmd, | + | |
| chmod u+s /bin/cat | chmod u+s /bin/cat | ||
| + | Als Nutzer: | ||
| cat & | cat & | ||
| - | ps -eo cmd, | + | ps -C cat -o cmd, |
| - | + | | | |
| - | === GUID Recht der Datei ändern === | + | ^ Wo darf ich schreiben? | |
| - | | + | |
| - | + | | | |
| - | === Gruppen eines Benutzers anzeigen === | + | ^ Was darf eine Gruppe? |
| - | id benutzer | + | |
| - | + | ||
| - | === Was darf eine Gruppe? | + | |
| find / /dev -xdev -group users -ls | find / /dev -xdev -group users -ls | ||
| - | + | | | |
| - | === Alle SUID-root Dateien finden | + | ^ Alle SUID-root Dateien finden |
| find / -xdev -type f -user root -perm /4000 -ls 2>/ | find / -xdev -type f -user root -perm /4000 -ls 2>/ | ||
| find / -xdev -type f -perm -u=s -ls | find / -xdev -type f -perm -u=s -ls | ||
| - | + | | | |
| - | === Allen Programmen das Ausführungsrecht nehmen | + | ^ Allen Programmen das Ausführungsrecht nehmen |
| - | find verzeichnis/ | + | find verzeichnis/ |
| + | find verzeichnis/ | ||
| + | | | ||
| ====== Beispiel: Schreibrechte im Verzeichnis - mehr als man denkt ====== | ====== Beispiel: Schreibrechte im Verzeichnis - mehr als man denkt ====== | ||
| Zeile 80: | Zeile 98: | ||
| </ | </ | ||
| - | ====== | + | ====== |
| - | ''/ | + | Erzeuge ein Verzeichnis |
| - | < | + | mkdir -m 777 /srv/open |
| + | Erzeuge eine Datei ''/ | ||
| + | < | ||
| #!/bin/bash | #!/bin/bash | ||
| echo executable | echo executable | ||
| </ | </ | ||
| - | chmod 256 / | ||
| + | Setze die Berechtigungen zu '' | ||
| + | chmod 356 / | ||
| + | |||
| + | Wer darf was? | ||
| + | |||
| + | | '' | ||
| + | ^ | ||
| + | ^ nicht Besitzer| | ||
| + | |||
| + | Tip: | ||
| + | Das Lesen ('' | ||
| + | head -0 / | ||
| + | testen. (('' | ||
| + | Das Schreiben ('' | ||
| + | >> / | ||
| + | testen. | ||
| + | (( | ||
| + | sysctl fs.protected_regular | ||
| + | < | ||
| + | fs.protected_regular = 2 | ||
| + | </ | ||
| + | |||
| + | https:// | ||
| + | //This protection is similar to protected_fifos, | ||
| + | avoids writes to an attacker-controlled regular file, where a program expected to create one. | ||
| + | |||
| + | When set to " | ||
| + | |||
| + | When set to " | ||
| + | |||
| + | When set to " | ||
| + | )) | ||
| + | Das Ausführen ('' | ||
| + | / | ||
| + | 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: | + | chown root: |
| chmod g+w /tmp/datei | chmod g+w /tmp/datei | ||
| su - iw | su - iw | ||
| Zeile 109: | Zeile 163: | ||
| useradd -m raumpflege | useradd -m raumpflege | ||
| ls -l /home | ls -l /home | ||
| + | |||
| + | Daher sollte man vor oder nach dem Löschen einer Benutzerkennung sämtliche Dateien, die diesem Benutzer gehörten, als '' | ||
| + | ====== Beispiel: SUID-Bit Dateien finden und SUID-Bit dauerhaft entfernen ====== | ||
| + | SUID-Bit Dateien finden (als root): | ||
| + | |||
| + | find / /boot -xdev -perm /u+s -type f -user root -ls | ||
| + | |||
| + | SUID-Bit dauerhaft entfernen: | ||
| + | Ubuntu / Debian: | ||
| + | dpkg-statoverride --update --add root root 0755 /bin/ping | ||
| ====== Beispiel: Auswirkung von mount-Optionen ====== | ====== Beispiel: Auswirkung von mount-Optionen ====== | ||
| Zeile 116: | Zeile 180: | ||
| Weitere Mount-Optionen mit Auswirkungen auf Dateirechte: | Weitere Mount-Optionen mit Auswirkungen auf Dateirechte: | ||
| - | |Option | + | ^Option |
| |nodev | |nodev | ||
| |noexec | Ausführbare Dateien sind nicht erlaubt | | |noexec | Ausführbare Dateien sind nicht erlaubt | | ||
| Zeile 157: | Zeile 221: | ||
| ls -l / | ls -l / | ||
| - | ====== Links ====== | + | |
| - | * [[ http:// | + | |
| - | * [[ http:// | + | |
| - | * [[ http:// | + | |
admin_grundlagen/dateirechte.1478906463.txt.gz · Zuletzt geändert: 2016/11/11 23:21 von ingo_wichmann
