Você pode usar sudoedit
:
%editors_group ALL=(root) sudoedit /var/www/vhosts/hostabc/*
Adicione todos os editores ao editors_group
Como posso fornecer sudo
access para um usuário, mas restringi-lo apenas à edição de arquivos e somente a arquivos que estejam em um diretório nomeado. Por exemplo, eu gostaria que o usuário abc
fosse capaz de editar todos os arquivos em /var/www/vhosts/hostabc/
e seus filhos.
Você pode usar sudoedit
:
%editors_group ALL=(root) sudoedit /var/www/vhosts/hostabc/*
Adicione todos os editores ao editors_group
Parece que não há um caminho direto. Uma antiga postagem na lista de discussão indica que esse recurso foi discutido há alguns anos , mas uma olhada no atual changelog mostra que o pessimismo do post está certo, e nada aconteceu.
Você pode alterar a propriedade do grupo desses arquivos? Se puder, você pode usar chmod g+S /var/www/vhosts/hostabc
e, em seguida, novos arquivos também obterão esse grupo. Como alternativa, e talvez melhor, embora menos transparente, você poderia usar ACLs. Essas abordagens permitem que você evite usar sudo
.
Ou, para estender a sugestão do mattdm, não se esqueça de que o sudo pode ser usado para conceder acesso a usuários que não sejam o root. Você poderia criar um usuário personalizado apenas para esse propósito, chown -R customuser:customgroup /var/www/vhosts/hostabc
, em seguida, dar privilégios userabc sudo ao usuário customuser. O usuário não é usado para mais nada, então é razoavelmente seguro fazer isso.
Você também não precisa se preocupar em usar o chmod + S para garantir herança, já que as edições serão feitas como o usuário do usuário personalizado.
Tags sudo permissions centos