Não, você não pode fazer isso. Se você der permissões de root para alguém, eles poderão fazer tudo, incluindo ler e gravar todos os arquivos. Mesmo se houvesse uma maneira de excluir de alguma forma o /root/database.yml
, o root ainda poderia alterar a configuração do sudo, substituir o binário do sudo, acessar o disco diretamente, etc.
Se você não confia em seus colegas administradores, não armazene nenhum segredo na máquina.
Se você deseja armazenar um arquivo confidencial e ter administradores que não podem ler esse arquivo, o arquivo deve ser armazenado em uma máquina diferente daquela em que essas pessoas são administradores. As diferentes máquinas podem, é claro, ser máquinas virtuais ou contêineres, elas não precisam ser máquinas físicas separadas.
Portanto, coloque todos os serviços que você deseja que seus colegas administradores gerenciem em uma máquina virtual ou contêiner e faça-os root no recipiente da VM. Mantenha o arquivo confidencial /root/database.yml
no host e não forneça nenhuma permissão de root no host.