Em uma máquina específica, muitas vezes preciso executar sudo
comandos de vez em quando. Eu estou bem com a digitação da senha sudo
na maioria dos casos.
No entanto, existem três sudo
comandos que desejo executar sem inserir a senha :
sudo reboot
sudo shutdown -r now
sudo shutdown -P now
Como posso excluir esses comandos da proteção de senha para sudo
?
Respostas:
Use a
NOPASSWD
diretivaVocê pode usar a
NOPASSWD
diretiva em seu/etc/sudoers
arquivo .Se seu usuário for chamado
user
e seu host for chamado,host
você poderá adicionar estas linhas a/etc/sudoers
:Isso permitirá que o usuário
user
execute os comandos desejadoshost
sem inserir uma senha. Todos os outrossudo
comandos ed ainda exigirão uma senha.Os comandos especificados no
sudoers
arquivo devem ser totalmente qualificados (ou seja, usando o caminho absoluto para a execução do comando), conforme descrito nasudoers
página de manual . Fornecer um caminho relativo é considerado um erro de sintaxe.Se o comando terminar com um
/
caractere à direita e apontar para um diretório, o usuário poderá executar qualquer comando nesse diretório (mas não em nenhum subdiretório). No exemplo a seguir, o usuáriouser
pode executar qualquer comando no diretório/home/someuser/bin/
:Nota: Sempre use o comando
visudo
para editar osudoers
arquivo para garantir que você não fique bloqueado no sistema - caso você acidentalmente grave algo incorreto nosudoers
arquivo.visudo
salvará o arquivo modificado em um local temporário e somente substituirá osudoers
arquivo real se o arquivo modificado puder ser analisado sem erros.Usando em
/etc/sudoers.d
vez de modificar/etc/sudoers
Como alternativa à edição do
/etc/sudoers
arquivo, você pode adicionar as duas linhas a um novo arquivo, por/etc/sudoers.d
exemplo/etc/sudoers.d/shutdown
. Essa é uma maneira elegante de separar diferentes alterações nossudo
direitos e também deixa osudoers
arquivo original intacto para atualizações mais fáceis.Nota: Novamente, você deve usar o comando
visudo
para editar o arquivo para garantir que você não se bloqueie fora do sistema:Isso também garante automaticamente que o proprietário e as permissões do novo arquivo sejam definidos corretamente.
Se
sudoers
está bagunçadoSe você não usou
visudo
para editar seus arquivos e, em seguida, acidentalmente estragou/etc/sudoers
ou estragou um arquivo/etc/sudoers.d
, será bloqueadosudo
.A solução pode ser corrigir os arquivos usando o
pkexec
que é uma alternativasudo
.Para corrigir
/etc/sudoers
:Para corrigir
/etc/sudoers.d/shutdown
:Se a propriedade e / ou as permissões estiverem incorretas para qualquer
sudoers
arquivo, o arquivo será ignorado e,sudo
portanto, você também poderá ficar bloqueado nessa situação. Novamente, você pode usarpkexec
para corrigir isso.As permissões corretas devem ser assim:
Use
pkexec
assim para corrigir propriedade e permissões :fonte
user
nãosudo
houver direitos de outras maneiras , nenhum outro comando poderá ser sudo por este usuário. Dê uma olhadaman sudo
eman sudoers
.mgd ALL=(root) NOPASSWD: /var/root/test
. Eu sou usuáriomgd
eALL
significa "de todos os hosts" ./var/root/test
é um script simples "Olá Mundo" shell com permissões:-rwx------ 1 root wheel 27 12 Jun 09:54 /var/root/test
. Fiz há outras alterações ao sistema.host
no arquivo sudoers?Desculpe, mas há tanta confusão sobre isso e algumas respostas realmente complicadas, que sinto que devo pesar aqui antes que alguém entenda errado e faça algo louco.
Usando visudo !!
Adicione as seguintes linhas à configuração:
Isso permite que os comandos, reinicialize e desligue com quaisquer parâmetros a serem executados por qualquer usuário.
Empilhe a troca, apenas dê respostas sucintas simples.
fonte