Linux - membro do grupo não pode excluir o arquivo com permissão rw

14

Abaixo, é mostrado um arquivo, /tmp/testfile , de propriedade de usuário1 com grupo alterado para roda , que também inclui usuário2 . O arquivo tem rw permissão para o grupo. Então, nenhum membro do grupo deveria poder deletá-lo? O exemplo de saída abaixo mostra que user2 não pode excluir o arquivo. Por quê?

[user2@files ~]$ ls -l /tmp/testfile
-rw-rw-r-- 1 user1 wheel 0 Jul 18 18:54 /tmp/testfile
[user2@files ~]$ groups
user2 wheel
[user2@files ~]$  rm /tmp/testfile
rm: cannot remove '/tmp/testfile': Operation not permitted
    
por user347765 18.07.2014 / 21:18

1 resposta

29

Primeiro, você está olhando para as permissões erradas. Quando você move / renomeia / apaga um arquivo, apenas modifica o diretório pai - as permissões do próprio arquivo não são verificadas. Você só remove uma entrada da lista de arquivos do diretório. Portanto, você deve verificar as permissões do diretório pai (neste caso, /tmp ).

$ ls -ld /tmp
drwxrwxrwt 15 root root 460 Jul 19 15:18 /tmp/

Em segundo lugar, /tmp é especial. Em praticamente todos os sistemas, é gravável por qualquer pessoa ( ugo=rwx ), então, à primeira vista, parece que qualquer um poderia renomear ou excluir qualquer arquivo nele. Isso, é claro, tornaria mais fácil (bem, ainda mais fácil) criar problemas para outros usuários, portanto, /tmp sempre tem o modo "sticky" ou "exclusão restrita" definido ( o+t ). Com esse modo definido, somente o proprietário do arquivo pode mover ou excluir arquivos nesse diretório, independentemente de quaisquer permissões.

(No GNU coreutils, a página de manual chmod(1) tem uma seção sobre o " sinalizador de exclusão restrita ou bit pegajoso ".)

    
por 18.07.2014 / 21:25