chown -h
altera a propriedade de /home/admin/important6.zip
não de blank.zip
. Você já tem acesso total ao link simbólico blank.zip
como root.
Se você olhar as permissões do important6.zip, sem dúvida verá por que ele não funciona.
Como alguém atravessa um symlink de outro usuário?
Na minha caixa do Ubuntu, eu tenho um link simbólico:
root@anonymous:/var/tmp# ls -l
total 24
lrwxrwxrwx 1 lab lab 26 Dec 15 18:27 blank.zip -> /home/admin/important6.zip
Acessando-o como root fornece:
root@anonymous:/var/tmp# more blank.zip
blank.zip: Permission denied
Se eu alterar a propriedade para root, no entanto:
root@anonymous:/var/tmp# chown -h root:root blank.zip ; more blank.zip
PK...
chown -h
altera a propriedade de /home/admin/important6.zip
não de blank.zip
. Você já tem acesso total ao link simbólico blank.zip
como root.
Se você olhar as permissões do important6.zip, sem dúvida verá por que ele não funciona.
Isso acontece por causa do recurso fs.protected_symlinks
. Como /var/tmp
é um diretório público (gravável pelo mundo e com o bit "pegajoso"), existe o risco de alguém criar um link simbólico para, por exemplo, /etc/passwd
e enganar um serviço do sistema para gravar dados personalizados nele. Para evitar isso, os links simbólicos localizados em um diretório 'adesivo' são seguidos apenas quando o proprietário deles corresponde.
Veja os artigos a seguir para obter mais informações:
Acho que o problema não é sobre a propriedade do symlink, mas sobre a propriedade do diretório /home/admin
. Como o laboratório de usuários não tem permissão para visualizar o diretório pessoal de outros usuários (a menos que seja de outra forma modificado), o link simbólico não pode ser seguido.
Como o usuário do root pode visualizar o diretório inicial da anoyone, a mudança de propriedade para o root resolve o problema no seu caso.
Você pode adicionar laboratório ao grupo de administradores e chmod /home/admin
a 770
(ou 740
por permitir apenas a leitura para os membros do grupo). Geralmente, os diretórios iniciais são chmod’ed 700
. Não é recomendado aumentar a permissão para todos os outros (últimos 3 bits) para fins de segurança.