Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:symbolische_links

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Nächste Überarbeitung
Vorherige Überarbeitung
Nächste Überarbeitung Beide Seiten, nächste Überarbeitung
admin_grundlagen:symbolische_links [2016/01/12 16:33]
ingo_wichmann angelegt
admin_grundlagen:symbolische_links [2019/10/07 17:43]
dhoppe [verwaiste Symlinks finden]
Zeile 1: Zeile 1:
-===== Symbolische Links =====+====== Symbolische Links =====
 +===== Grundlegende Beispiele ===== 
 +  cp /etc/passwd .
   ln -s passwd passwd-symlink   ln -s passwd passwd-symlink
   ls -li passwd*   ls -li passwd*
Zeile 6: Zeile 8:
 Übungen 6.22 - 6.24 Übungen 6.22 - 6.24
  
-  ​cp -r /​usr/​share/​doc ​. +=== Übung: cp -a vs. cp -r === 
-  find doc -printf '​%y\n'​ | sort | uniq -c +  ​cp -r /​usr/​share/​doc ​doc-r 
-  rm -r doc +  find doc-r -printf '​%y\n'​ | sort | uniq -c 
-  cp -a /​usr/​share/​doc ​. +  cp -a /​usr/​share/​doc ​doc-a 
-  find doc -printf '​%y\n'​ | sort | uniq -c+  find doc-a -printf '​%y\n'​ | sort | uniq -c
  
-Übrig gebliebene ​Userfiles ​nach dem Löschen des Users dem Benutzer root übergeben: +Unterschiede?​ 
-  find / -xdev -uid 1002 -print0 | xargs -0 chown --no-dereference root+ 
 +===== 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 ==== ==== verwaiste Symlinks finden ====
   find -L . -type l -ls   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
admin_grundlagen/symbolische_links.txt · Zuletzt geändert: 2022/07/19 12:29 (Externe Bearbeitung)