So erstellen Sie den Hardlink alice
benötigt write+execute
Berechtigungen auf target-dir
auf alle Fälle. Die erforderlichen Berechtigungen für target.txt
wird variieren:
- Falls
fs.protected_hardlinks = 1
dannalice
benötigt entweder den Besitz vontarget.txt
oder mindestensread+write
Berechtigungen darauf. - Falls
fs.protected_hardlinks = 0
dann reicht jeder Satz von Berechtigungen; Sogar 000 ist okay.
Diese Antwort auf eine ähnliche Frage enthielt die fehlenden Informationen, um diese Frage zu beantworten.
Von http://kernel.opensuse.org/cgit/kernel/commit/?id=800179c9b8a1 [Hervorhebung von mir]:
Hardlinks:
Auf Systemen, die vom Benutzer beschreibbare Verzeichnisse auf derselben Partition wie Systemdateien haben, ist eine seit langem bestehende Klasse von Sicherheitsproblemen der Hardlink-basierte Time-of-Check-Time-of-Use-Wettlauf, der am häufigsten in weltweit beschreibbaren Verzeichnissen wie /tmp zu sehen ist . Die übliche Methode zur Ausnutzung dieses Fehlers besteht darin, Privilegiengrenzen zu überschreiten, wenn einem bestimmten Hardlink gefolgt wird (d. h. ein Root-Prozess folgt einem Hardlink, der von einem anderen Benutzer erstellt wurde). Darüber hinaus besteht ein Problem, bei dem Benutzer eine potenziell anfällige setuid/setgid-Datei "pinnen" können, sodass ein Administrator ein System nicht vollständig aktualisiert.
Die Lösung besteht darin, das Erstellen von Hardlinks nur dann zuzulassen, wenn der Benutzer bereits Eigentümer der vorhandenen Datei ist oder bereits Lese-/Schreibzugriff auf die vorhandene Datei hat .