Arquivos somente deletáveis pelo usuário?

1

Estou rodando um servidor Debian 7 e tenho o seguinte cenário (nomes de exemplo)

Utilizador:

  • paul: paul
  • john: paul

Diretório: / home / paul / Diretório

  • Arquivo W (Proprietário paul, Grupo paul, Direitos: 0770)
  • Arquivo X (Proprietário paul, Grupo paul, Direitos: 0700)
  • Arquivo Y (Proprietário paul, Grupo paul, Direitos: 0700)
  • Arquivo Z (Proprietário john, Grupo paul, Direitos: 0770)

O usuário john deve poder excluir "Arquivo Z", mas não "Arquivo X" ou "Arquivo Y" Ele também deve ter permissão para editar e excluir "Arquivo W".

Curto: Ele só deve poder excluir seus próprios arquivos, mas editar todos com permissão para isso.

Estou procurando uma solução para usar o bit de exclusão do diretório em arquivos especificados. A opção "chattr" não é uma opção, porque nada deve ser feito com direitos de root.

Alguém tem uma ideia?

    
por Levitas 12.10.2015 / 14:54

1 resposta

2

No modelo de segurança POSIX, para excluir um arquivo, você precisa apenas de acesso de gravação ao seu diretório pai . Portanto, se a conta "john" tiver +w de direitos para / home / john / Directory, ela sempre poderá excluir arquivos dentro dela.

Mas uma exceção é o modo "sticky" / "restricted exclusion". Quando você define +t em um diretório, a exclusão de arquivos é restrita somente ao proprietário do arquivo ou ao proprietário do diretório. (Por exemplo, /tmp funciona dessa maneira.) Então, se você chmod +t e chown root o diretório, você deve obter o resultado esperado.

    
por 12.10.2015 / 15:24