admin_grundlagen:symbolische_links
Inhaltsverzeichnis
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?
Wo befinden sich auf meinem System Symlinks?
find / -xdev -type l -ls find / -xdev -type l -printf '%h\n' | uniq -c
Probleme mit Symlinks
Symlinks werden von machen Entwicklern als problematisch gesehen: https://lwn.net/Articles/899543/
Ü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
Link-Schleife
ln -s a b ln -s b a # Es geht noch kürzer: ln -s a a
cat a
Beispiel: Symlink-Attacke
Funktioniert nur, wenn fs.protected_symlinks ausgeschaltet ist:
sysctl fs.protected_symlinks
→ fs.protected_symlinks = 0
Als root:
echo 'please save me' > /etc/save-me echo '* * * * * 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 eingeschaltet 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
admin_grundlagen/symbolische_links.txt · Zuletzt geändert: 2022/07/19 12:29 von 127.0.0.1
