Você precisa dar ao usuário comandos específicos que eles podem executar e ser muito específicos. Você pode limitar o acesso para que eles não possam executar a "senha sudo" diretamente, mas ela não é realmente aplicada. Se eles podem iniciar um shell de root, eles podem ignorar isso. Você pode até executar o vi como root e executar comandos nele.
No passado, dei muito acesso aos usuários, tornando-os um programa com um menu para que eles pudessem executar ações específicas. Isso me permitiu verificar todas as entradas que eles deram.