Depende de como você chama chmod
e da plataforma em que está executando.
Por exemplo, em um sistema Linux, man chmod
diz o seguinte:
chmod
nunca altera as permissões de links simbólicos; a chmod
chamada do sistema não pode alterar suas permissões. Isso não é um problema, pois as permissões de links simbólicos nunca são usadas. No entanto, para cada link simbólico listado na linha de comando, chmod
altera as permissões do arquivo apontado. Por outro lado, chmod
ignora os links simbólicos encontrados durante os percursos de diretório recursivos.
No entanto, em um Mac, o chmod pode ser usado para modificar as permissões de um link simbólico usando opções como esta (de man chmod
):
-h Se o arquivo for um link simbólico, altere o modo do próprio link em vez do arquivo para o qual o link aponta.
Por uma questão de exemplo, vamos supor que você esteja em uma máquina Linux para o restante desta resposta.
Se, no primeiro caso, você executar chmod -R 777 directory
para alterar recursivamente as permissões, o destino do link não será afetado, mas, se o fizer chmod 777 directory/*
, será.
Se você alterar as permissões diretamente no destino do link, essas permissões continuarão (uma vez que, como dizem a página de manual e o baraboom , as permissões de link reais não são usadas para nada).
Log de teste para ilustração:
$ mkdir dir && touch dir/file{1,2} /tmp/file3 && ln -s {/tmp,dir}/file3
$ ls -l dir/* /tmp/file3
-rw-r--r-- 1 user group 0 2011-06-27 22:02 /tmp/file3
-rw-r--r-- 1 user group 0 2011-06-27 22:02 dir/file1
-rw-r--r-- 1 user group 0 2011-06-27 22:02 dir/file2
lrwxrwxrwx 1 user group 10 2011-06-27 22:02 dir/file3 -> /tmp/file3
$ chmod -R 777 dir && ls -l dir/* /tmp/file3
-rw-r--r-- 1 user group 0 2011-06-27 22:02 /tmp/file3
-rwxrwxrwx 1 user group 0 2011-06-27 22:02 dir/file1
-rwxrwxrwx 1 user group 0 2011-06-27 22:02 dir/file2
lrwxrwxrwx 1 user group 10 2011-06-27 22:02 dir/file3 -> /tmp/file3
$ chmod 700 dir/* && ls -l dir/* /tmp/file3
-rwx------ 1 user group 0 2011-06-27 22:02 /tmp/file3
-rwx------ 1 user group 0 2011-06-27 22:02 dir/file1
-rwx------ 1 user group 0 2011-06-27 22:02 dir/file2
lrwxrwxrwx 1 user group 10 2011-06-27 22:02 dir/file3 -> /tmp/file3