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

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
Nächste Überarbeitung Beide Seiten, nächste Überarbeitung
admin_grundlagen:symbolische_links [2016/01/14 11:09]
ingo_wichmann [verwaiste Symlinks finden]
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)