Pour créer le lien dur alice
aura besoin de write+execute
autorisations sur target-dir
sur tous les cas. Les autorisations nécessaires sur target.txt
variera :
- Si
fs.protected_hardlinks = 1
puisalice
nécessite soit la propriété detarget.txt
ou au moinsread+write
autorisations dessus. - Si
fs.protected_hardlinks = 0
alors n'importe quel ensemble d'autorisations fera l'affaire ; Même 000 est acceptable.
Cette réponse à une question similaire contenait l'information manquante pour répondre à cette question.
De http://kernel.opensuse.org/cgit/kernel/commit/?id=800179c9b8a1 [c'est moi qui souligne] :
Liens physiques :
Sur les systèmes qui ont des répertoires inscriptibles par l'utilisateur sur la même partition que les fichiers système, une classe de problèmes de sécurité de longue date est la course au temps de vérification et à l'heure d'utilisation basée sur les liens durs, la plus courante dans les répertoires inscriptibles par le monde comme / tmp . La méthode courante d'exploitation de cette faille consiste à franchir les limites de privilèges en suivant un lien physique donné (c'est-à-dire qu'un processus racine suit un lien physique créé par un autre utilisateur). De plus, il existe un problème où les utilisateurs peuvent "épingler" un fichier setuid/setgid potentiellement vulnérable afin qu'un administrateur ne mette pas entièrement à niveau un système.
La solution consiste à autoriser la création de liens physiques uniquement lorsque l'utilisateur est déjà le propriétaire du fichier existant ou s'il a déjà un accès en lecture/écriture au fichier existant .