Como alice
tem permissão de gravação para o diretório stuff/
, o alice pode modificar seu conteúdo mesmo que ela não seja a proprietária dos arquivos.
Ao usar ACLs do Linux, quando o arquivo é criado (ou copiado, quando a cópia cria um novo arquivo no destino), as permissões são aplicadas conforme descrito por man acl
. Movendo um arquivo com mv
preserva as permissões quando o arquivo pode ser movido sem copiar . Parece que, por algum motivo, mv
não pode mover o arquivo e faz uma cópia, pois as ACLs são aplicadas a myfile
.
Criar um link físico é bem diferente. Criar um link físico cria uma entrada de diretório (no diretório de destino), que aponta para o mesmo inode como o arquivo original, em outras palavras, o mesmo arquivo existe em mais de um diretório. Permissões de arquivo, tanto ACLs quanto permissões tradicionais do UNIX, são armazenadas no inode. Como /home/stuff/myfile
e /home/bob/myfile
apontam para o mesmo inode, qualquer alteração em um ou outro refletirá para o outro. É por isso que alice
pode acessar o link físico. As permissões de /home/bob/myfile
(777) são as mesmas que as permissões de /home/stuff/myfile
.
Os links simbólicos apontam para o caminho de destino. Acessar o arquivo para o qual o link simbólico está apontando requer as mesmas permissões que acessar o arquivo de destino. Possivelmente alice
não tem acesso de pesquisa (executar bit) ao diretório pessoal de bob
e, portanto, o acesso falha.