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

15

Abaixo mostra um arquivo, /tmp/testfilepertencente ao usuário1 com o grupo alterado para roda que também inclui o usuário2 . O arquivo tem rwpermissão para o grupo. Portanto, nenhum membro do grupo não deve excluí-lo? O exemplo de saída abaixo mostra que o usuário2 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
user347765
fonte
Além disso, para a explicação completa por @grawity, uma boa solução é criar seu diretório 'próprio' sob tmpe corrigir a situação complicada
FCM

Respostas:

30

Primeiro, você está vendo as permissões erradas. Quando você move / renomeia / exclui um arquivo, você está apenas modificando o diretório pai - as permissões do arquivo não são verificadas. Você remove apenas 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/

Segundo, /tmpé especial. Em praticamente todos os sistemas, é gravável por qualquer pessoa ( ugo=rwx); portanto, à primeira vista, parece que qualquer pessoa pode renomear ou excluir qualquer arquivo nele. Obviamente, isso facilitaria (bem, ainda mais) a criação de problemas para outros usuários, portanto, /tmpsempre tem o modo "pegajoso" ou "exclusão restrita" definido ( o+t). Com esse modo definido, apenas o proprietário do arquivo pode mover ou excluir arquivos nesse diretório, independentemente de quaisquer permissões.

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

user1686
fonte
Estou enfrentando o mesmo problema devido ao segundo ponto de permissão permanente. Tentei removê-lo chmod o-t /tmpe tentei excluir o arquivo novamente, mas ele ainda está reclamando.
Shashank Agrawal 23/03
1
Não apenas o proprietário do arquivo pode excluir os arquivos no diretório, mas também o root e o proprietário do diretório (por exemplo, / tmp).
Wulfgarpro