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?

find / -xdev -type l -ls
find / -xdev -type l -printf '%h\n' | uniq -c

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 {} +
find -L . -type l -ls
ln -s a b
ln -s b a
# Es geht noch kürzer: ln -s a a
cat a

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

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