Sous OSX, je peux définir les autorisations du lien symbolique lui-même (au lieu de la chose sur laquelle il pointe en utilisant -h). De la page de manuel:
-h If the file is a symbolic link, change the mode of the link itself rather than the file that the link points to.
Dans Ubuntu 14.04, j'essaie de définir les autorisations d'un lien symbolique, mais ce n'est défini que sur la cible du lien symbolique.
Il s'agit d'un lien symbolique de /home/nagios/.ssh/someprivatekey
à /somewhere/else/privatekey
, de sorte que les autorisations sont importantes pour ssh. Comment puis-je atteindre cet objectif?
Pas possible. Il n'y a aucun moyen puisque les autorisations sur un lien symbolique n'ont pas de sens (un lien symbolique n'est pas un fichier; il pointe uniquement sur un fichier). La façon de faire cela avec Linux est de ACL .
lien symbolique sont expliqués comme ...
Les valeurs des bits de mode de fichier pour le lien symbolique créé ne sont pas spécifiées. Toutes les interfaces spécifiées par POSIX.1-2008 doivent se comporter comme si le contenu des liens symboliques pouvait toujours être lu, sauf que la valeur des bits de mode de fichier retournés dans le champ st_mode de la structure stat n'est pas spécifiée.
La différence est ici: chmod et chmod ... c'est BSD versus Linux.
Pas sûr que ce soit important mais concernant SSH: il utilise stat (2) , pas lstat (2) pour obtenir les permissions.
Tu ne peux pas. L'appel système sous-jacent chmod
ne le prend tout simplement pas en charge. De plus, Linux ne se soucie pas non plus des autorisations du lien. De man chmod
:
_chmod never changes the permissions of symbolic links; the chmod system
call cannot change their permissions. This is not a problem since the
permissions of symbolic links are never used. However, for each
symbolic link listed on the command line, chmod changes the permissions
of the pointed-to file. In contrast, chmod ignores symbolic links
encountered during recursive directory traversals.
_
En ce qui concerne les liens physiques ou les montages de liaison, les autorisations de la source sont utilisées. Par conséquent, aucune des trois méthodes standard permettant de refléter le contenu d'un fichier ailleurs ne peut vous aider.