Vamos assumir o seguinte cenário. Temos dois usuários confiáveis e não confiáveis . O usuário não confiável é usado para acessar a Internet e fazer o download de dados, que devem ser revisados e dados ao usuário confiável . O que faço até agora é baixar dados por meio da conta não confiável , efetuar login como raiz e revisar os dados e, em seguida, mover os dados revisados para confiáveis e definir as permissões dos arquivos de dados trusted:users
. No entanto, este é um processo bastante demorado e eu quero acelerá-lo. Então, criei uma pasta compartilhada como raiz com os seguintes comandos:
mkdir /srv/shared
chgrp users /srv/shared
chmod g+w,o-rx /srv/shared
setfacl -m d:g:users:rwx /srv/shared
Com isso, tanto os confiáveis quanto os não confiáveis podem criar, ler, gravar, excluir e mover arquivos de e para esse diretório. Não testei a execução de scripts, mas acho que não precisarei disso, porque qualquer coisa dentro dessa pasta deve ser considerada potencialmente perigosa.
Infelizmente, notei que, se não confiável, cria um arquivo nessa pasta e usos confiáveis
mv -i /srv/shared/created.by.untrusted ~
O usuário confiável termina com o arquivo created.by.untrusted em seu diretório pessoal, que ainda é de propriedade de não confiável . O usuário confiável pode editar e excluir esse arquivo, mas não pode alterar a propriedade para trusted:users
. Esse é um risco potencial à segurança? Existe uma maneira de alterar a propriedade para trusted:users
sem usar a conta root ? Eu estava pensando em criar uma nova partição com o sistema de arquivos NTFS e montá-la em / srv / shared para contornar esse problema. Os arquivos criados lá não devem ter proprietário permanente. Mas o problema com essa abordagem é que o tamanho da partição precisaria ser limitado por um valor fixo. De qualquer forma, essa abordagem me parece "exagerada". Existe outro caminho?