В OSX я могу установить разрешения самой символической ссылки (вместо того, что она указывает на использование -h). Со страницы руководства:
-h If the file is a symbolic link, change the mode of the link itself rather than the file that the link points to.
В Ubuntu 14.04 я пытаюсь установить разрешения для символической ссылки, но она устанавливается только для цели символической ссылки.
Это касается символической ссылки from /home/nagios/.ssh/someprivatekey
на /somewhere/else/privatekey
, поэтому права доступа важны для ssh. Как мне этого добиться?
permissions
ssh
chmod
symbolic-link
Рэй Бургемистр
источник
источник
ls -l
выходных данных (lrwxrwxrwx
)..ssh/config
:)Ответы:
Невозможно. Нет никакого способа, так как разрешения для символической ссылки не имеют смысла (символическая ссылка не является файлом; она только указывает на файл). Способ сделать это с Linux, хотя через ACL .
символическая ссылка объясняется как ...
Разница здесь: chmod и chmod ... это BSD против Linux.
Не уверен, что это важно, но в отношении SSH: он использует stat (2) , а не lstat (2) для получения разрешений.
источник
fchmodat
функцию, которая может использоваться для изменения режима символьных ссылок (необязательная функция - системы, которые не поддерживают ее, включая Linux, возвращают ошибку EOPNOTSUPP), но ничего вchmod
команде, чтобы использовать это. Только-R
определяется в POSIX.lchmod(2)
илиfchmodat(2)
...), они имеют значение (разрешить / запретитьreadlink()
(прочитать) или разрешить путь через них (выполнить)). Разрешения на запись обычно отсутствуют, поскольку вы не можете изменить цель символической ссылки.Ты не можешь Основной
chmod
системный вызов просто не поддерживает это в Linux, и в этом отношении Linux также не заботится о разрешениях ссылки. Отman chmod
:Что касается жестких ссылок или привязок, используются разрешения источника, поэтому ни один из трех стандартных способов отображения содержимого файла в другом месте не поможет вам в этом.
источник