Configura automaticamente o atributo append para arquivos / pastas recém-criados?

1

Estou tentando configurar uma pasta para que os usuários possam apenas criar ou modificar arquivos / pastas, mas não excluí-los. Eu tentei o comando 'chattr + a' e obtive resultados diferentes no RHEL5.8 e RHEL6.5 respectivamente. Eu tentei o seguinte comando:

# chattr +a /home/share

No RHEL5.8, o atributo 'append' é automaticamente definido para arquivos / pastas recém-criados na pasta / home / share, que é o que eu quero. Mas não é o caso no RHEL6.5, que faz com que os usuários ainda possam remover arquivos / pastas sob subf lutadores de / home / share. Por exemplo:

$ mkdir /home/share/test-folder
$ touch /home/share/test-folder/test-file
$ rm /home/share/test-folder/test-file

O arquivo 'test-file' ainda pode ser removido.

Então, minha pergunta é, no RHEL6.5, como posso obter o mesmo resultado que obtive no RHEL5.8? ou há outras soluções?

Obrigado.

    
por Eric Zhang 25.02.2016 / 04:57

1 resposta

0

Uma opção é instalar uma ferramenta listando as notificações de arquivo do kernel ( inotify ). Em seguida, configure-o para executar chattr assim que os arquivos e diretórios forem criados.

O exemplo abaixo usa incrond (disponível no repositório Debian e Red Hat / CentOS EPEL), mas você pode querer usar uma ferramenta baseada em FAM , se você usa uma exportação NFS.

mkdir /srv/incrontest

Crie o arquivo /etc/incron.d/incrontest com o seguinte conteúdo:

      /srv/incrontest IN_CREATE chattr +a $@/$#

Então (re) comece o dameon     systemctl start incron

(Certifique-se de que você systemctl enable incron vive no mundo do RPM)

Voilà

    
por 10.03.2016 / 22:59