Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
admin_grundlagen:symbolische_links [2019/10/07 17:43] dhoppe [verwaiste Symlinks finden] |
admin_grundlagen:symbolische_links [2022/07/19 12:29] |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Symbolische Links ====== | ||
- | ===== Grundlegende Beispiele ===== | ||
- | cp /etc/passwd . | ||
- | ln -s passwd passwd-symlink | ||
- | ls -li passwd* | ||
- | ls -liH passwd* | ||
- | Übungen 6.22 - 6.24 | ||
- | |||
- | === Übung: cp -a vs. cp -r === | ||
- | cp -r /usr/share/doc doc-r | ||
- | find doc-r -printf '%y\n' | sort | uniq -c | ||
- | cp -a /usr/share/doc doc-a | ||
- | find doc-a -printf '%y\n' | sort | uniq -c | ||
- | |||
- | Unterschiede? | ||
- | |||
- | ===== Probleme mit Symlinks ===== | ||
- | ==== Link-Schleife ==== | ||
- | ln -s a b | ||
- | ln -s b a | ||
- | # Es geht noch kürzer: ln -s a a | ||
- | |||
- | cat a | ||
- | ==== Übrig gebliebene Dateien eines Users nach dem Löschen des Users dem Benutzer root übergeben ==== | ||
- | find / -xdev -uid 1002 -exec chown --no-dereference root {} + | ||
- | ==== verwaiste Symlinks finden ==== | ||
- | find -L . -type l -ls | ||
- | |||
- | ==== Beispiel: Symlink-Attacke ==== | ||
- | Funktioniert nur, wenn ''fs.protected_symlinks'' **aus**geschaltet ist: | ||
- | sysctl fs.protected_symlinks | ||
- | -> ''fs.protected_symlinks = 0'' | ||
- | |||
- | Als root: | ||
- | echo 'please save me' > /etc/save-me | ||
- | echo '* * * * * root echo "you are lost" > /tmp/date-$(date "+%H:%M")' | crontab - | ||
- | |||
- | Als nutzer: | ||
- | ln -s /etc/save-me /tmp/date-09:58 | ||
- | |||
- | Um 9:58 wird root per cron die Datei ''/etc/save-me'' überschreiben | ||
- | |||
- | ==== Beispiel: protected_symlinks ==== | ||
- | Funktioniert nur, wenn ''fs.protected_symlinks'' **ein**geschaltet ist: | ||
- | sysctl fs.protected_symlinks | ||
- | -> ''fs.protected_symlinks = 1'' | ||
- | mkdir -m 1777 offen.d/ | ||
- | cd offen.d/ | ||
- | touch datei | ||
- | ln -s datei symlink | ||
- | sudo chown --no-dereference nobody symlink | ||
- | cat symlink | ||
- | -> ''Keine Berechtigung'' bzw. ''Permission denied'' | ||
- | |||
- | ==== Dokus und Links ==== | ||
- | * https://www.kernel.org/doc/Documentation/sysctl/fs.txt | ||
- | * https://de.wikipedia.org/wiki/Symlink-Schwachstelle |