A única maneira de ter uma trilha de auditoria confiável é trabalhar com uma política de privilégio mínimo, ou seja, negar o acesso por padrão.
Se você for com sudo
access, certamente poderá limitar o que os usuários podem e não podem fazer; mas você também precisa estar ciente das advertências que podem se aplicar.
Nesse caso, seu requisito é conceder acesso a um grupo de usuários para editar um arquivo específico.
As melhores práticas determinam que cada usuário tenha uma conta pessoal.
Não é necessário fazer com que esses usuários pertençam a nenhum grupo, pois isso já é coberto por sudo
.
Supondo que seus usuários pertençam ao grupo operators
, um sudorule
seria semelhante a:
Cmnd_Alias TOMCAT_COMMANDS = sudoedit /path/to/tomcat-users.xml
Host_Alias TOMCAT_HOSTS = foo.example.com, bar.example.com
Defaults log_host
Defaults log_output
Defaults syslog_badpri=alert
Defaults syslog_goodpri=notice
Defaults:%operators editor=/usr/bin/rvim
%operators TOMCAT_HOSTS = (tomcat)PASSWD: TOMCAT_COMMANDS
Isso garante que eles não escapem do editor, pois são forçados a usar rvim
e fornecem alguns padrões sensatos para registrar suas atividades. Você pode reforçar ainda mais a política sudo
e pode adicionar mais funcionalidades a ela. Este é um exemplo.
Outra maneira de realizar algo semelhante é alterar o controle de versão para esse arquivo e gerenciá-lo usando um sistema de gerenciamento de configuração.
O RBAC para esse tipo de sistema é um tópico amplo, como é a auditoria. Cabe a você coletar e analisar os logs gerados.