No OSX, posso definir as permissões do próprio link simbólico (em vez do que ele aponta para usar o -h). Na página do manual:
-h If the file is a symbolic link, change the mode of the link itself rather than the file that the link points to.
No Ubuntu 14.04, tento definir permissões de um link simbólico, mas ele é definido apenas no destino do link simbólico.
Trata-se de um link simbólico de /home/nagios/.ssh/someprivatekey
para /somewhere/else/privatekey
, portanto, as permissões são importantes para o ssh. Como posso conseguir isso?
permissions
ssh
chmod
symbolic-link
Ray Burgemeestre
fonte
fonte
ls -l
saída (lrwxrwxrwx
)..ssh/config
:)Respostas:
Não é possivel. Não há como as permissões em um link simbólico não fazem sentido (um link simbólico não é um arquivo; apenas aponta para um arquivo). A maneira de fazer isso com o Linux é através da ACL .
o link simbólico é explicado como ...
A diferença está aqui: chmod e chmod ... é BSD versus Linux.
Não tenho certeza se é importante, mas com relação ao SSH: ele usa stat (2) , não lstat (2) para obter as permissões.
fonte
fchmodat
função, que pode ser usada para alterar o modo dos links simbólicos (recurso opcional - sistemas que não o suportam, incluindo Linux, retornam o erro EOPNOTSUPP), mas nada nochmod
comando para usá-lo. Somente-R
é definido no POSIX.lchmod(2)
oufchmodat(2)
...), eles têm um significado (permitir / negarreadlink()
(ler) ou resolução de caminho através deles (executar)). As permissões de gravação normalmente não funcionam, pois você não pode alterar o destino de um link simbólico.Você não pode. A
chmod
chamada de sistema subjacente simplesmente não suporta isso no Linux e, nesse caso, o Linux também não se importa com as permissões do link. Deman chmod
:Quanto aos links físicos ou montagens de ligação, as permissões da fonte são usadas, portanto, nenhuma das três maneiras padrão de refletir o conteúdo de um arquivo em outro lugar pode ajudá-lo.
fonte