Posso criar um link simbólico para um arquivo que não consigo acessar?

Posso criar um link simbólico para um arquivo que não consigo acessar?

[Isenção de responsabilidade: não há intenção maliciosa nesta pergunta, estou tentando entender o comando ln -s para um projeto escolar]

Digamos que eu tenha um sistema de arquivos com minha pasta pessoal, /home/anna. /home/bobé uma pasta que não consigo acessar, com um arquivo que não consigo acessar,foo.txt

Posso executar com sucesso ln -s /home/bob/foo.txtna minha pasta pessoal? É correto presumir que, se eu puder, produzirá um link que não consigo acessar (com as mesmas permissões que foo.txt)?

E se eu tivesse privilégios de leitura foo.txt, mas não tivesse acesso /home/bob?

E o caso inverso, onde eu poderia acessar, /home/bobmas não ler foo.txt?

Responder1

Sim,você pode criar um link simbólico paraqualquerlocalização.

Posso executar com sucesso ln -s /home/bob/foo.txtna minha pasta pessoal? É correto presumir que, se eu puder, produzirá um link que não consigo acessar (com as mesmas permissões que foo.txt)?

Correto. As restrições de acesso do arquivo de destino se aplicam. Se você criar um link simbólico para um recurso restrito, você simplesmente não conseguirá acessá-lo. Nem é necessário que o arquivo de destino realmente exista.

Uma demonstração:

$ ln -s /etc/shadow foo
$ file foo
foo: symbolic link to /etc/shadow
$ cat foo
cat: foo: Permission denied

$ ln -s /etc/nonexistent bar
$ file bar
bar: broken symbolic link to /etc/nonexistent

E se eu tivesse privilégios de leitura foo.txt, mas não tivesse acesso /home/bob?

Se você não tiver permissões no diretório pai,você não pode acessar o arquivo contido. Portanto, com um link simbólico você ainda não conseguiria acessá-lo. A criação de um link simbólico não afeta as permissões.

E o caso inverso, onde eu poderia acessar, /home/bobmas não ler foo.txt?

Novamente, você pode criar um link simbólico para ele, mas não acessar o arquivo.

informação relacionada