Permissões de link simbólico não mudam com chmod

12

Eu tenho acesso a uma máquina Linux remota onde, sempre que crio um link simbólico, ele é criado por padrão com as seguintes permissões: lrwxrwxrwx

Se eu tentar alterar as permissões do link simbólico (ou seja, não o caminho para o qual ele aponta) usando, por exemplo:

chmod g-w my_symbolic_link

chmodfunciona corretamente (nenhuma mensagem de erro é impressa), mas quando verifico novamente as permissões, elas continuam as mesmas ( lrwxrwxrwx).

Estou esperando uma resposta do administrador da máquina, mas fiquei pensando se esse é um comportamento normal ou se é algo específico da caixa.

Amelio Vazquez-Reina
fonte

Respostas:

16

É um comportamento normal. O que acontece pode variar dependendo do sistema operacional (Solaris pelo menos usado para alterar as permissões de link); mas como um link simbólico não é um arquivo normal, as permissões não são realmente usadas para nada. (As permissões de arquivo fazem parte do inode do arquivo, portanto, o link simbólico não pode afetá-las.)

geekosaur
fonte
Entendo obrigado. Eu só quero impedir que alguém exclua o link simbólico. Pelo que entendi, não posso alterar a permissão desse link sem a ajuda do administrador, correto?
Amelio Vazquez-Reina
4
Nem mesmo com a ajuda do administrador. A exclusão do arquivo depende das permissões do diretório que contém, não das do arquivo. ( rmverifica especificamente o arquivo como somente leitura, a menos que você passe -f, porque geralmente não se deseja excluir um arquivo somente leitura, mas unlink()não se importa. Experimente-o no Perl ou no Python em algum momento.)
geekosaur