Pare o usuário de excluir o arquivo no diretório

1

Este é o cenário

  1. Existe um diretório / teste que pertence a oracle.dba
  2. Eu criei um novo TEST de usuário que terá permissão para criar novos arquivos, mas não poderá excluir os arquivos que ele criou

Eu tentei várias maneiras, mesmo acls, mas não está funcionando.

    
por OmiPenguin 30.05.2016 / 10:15

1 resposta

1

Eu acredito que não há como fazer isso usando apenas privilégios padrão do UNIX. O problema aqui é que (tanto quanto eu sei) um arquivo recém-criado é sempre de propriedade de seu criador - e se você é capaz de criar o arquivo, você tem privilégios de gravação para o diretório pai e, portanto, pode excluir o arquivo .

Você pode usar o sticky bit para impedir que os usuários excluam arquivos outros usuários , e você pode usar o bit SETGID no diretório para alterar o grupo de arquivos recém-criados, mas no Linux, o SETUID bit de diretório é ignorado.

Você pode criar um daemon que monitore o diretório (talvez usando algum tipo de monitor de alteração de arquivo) e altere a propriedade para oracle.dba depois que o arquivo for criado. Existe uma condição de corrida, no entanto - um invasor pode excluir o arquivo antes que o daemon perceba que ele está lá.

E, mesmo que tenha êxito, esteja ciente de que, desde que você tenha permissões de gravação, você poderá truncar o arquivo com comprimento zero, destruindo assim o conteúdo sem precisar excluí-lo explicitamente.

    
por 30.05.2016 / 11:11