Você pode ver neste exemplo que o comando find
faz realmente operar no link simbólico:
$ ls -l *
subdir1:
total 0
-rwxrwxrwx 1 nate nate 0 Jun 13 09:20 realfile
subdir2:
total 0
lrwxrwxrwx 1 nate nate 19 Jun 13 09:20 symlinkfile -> ../subdir1/realfile
$ find . -type l -exec ls "{}" \;
./subdir2/symlinkfile
Mas o comando subjacente (por exemplo, chmod
) pode não funcionar. Neste exemplo, podemos ver que o chmod está realmente alterando as permissões do arquivo target :
$ find . -type l -exec chmod -v 777 "{}" \;
mode of './subdir2/symlinkfile' retained as 0777 (rwxrwxrwx)
$ find . -type l -exec chmod -v 444 "{}" \;
mode of './subdir2/symlinkfile' changed from 0777 (rwxrwxrwx) to 0444 (r--r--r--)
$ ls -l *
subdir1:
total 0
-r--r--r-- 1 nate nate 0 Jun 13 09:20 realfile
subdir2:
total 0
lrwxrwxrwx 1 nate nate 19 Jun 13 09:20 symlinkfile -> ../subdir1/realfile
da página do manual chmod:
chmod never changes the permissions of symbolic links; the chmod system call cannot change their permissions
O que você está tentando fazer com o symlink, exatamente?