Idealmente, se você estiver personalizando quais comandos podem ser executados via sudo
, você deve fazer essas alterações em um arquivo separado em /etc/sudoers.d/
, em vez de editar o arquivo sudoers
diretamente. Você também deve sempre usar visudo
para editar o (s) arquivo (s). Você NUNCA deve conceder os comandos NOPASSWD
on ALL
.
Exemplo:
sudo visudo -f /etc/sudoers.d/mynotriskycommand
Insira sua permissão de concessão de linha:
myuser ALL= NOPASSWD: /path/to/your/program
Em seguida, salve e saia e visudo
avisará se você tiver erros de sintaxe.
Você pode executar sudo -l
para ver as permissões concedidas a seu usuário, se qualquer um dos comandos NOPASSWD
específicos do usuário aparecer ANTES de qualquer comando %groupyouarein ALL=(ALL) ALL
na saída, será solicitada sua senha.
Se você estiver criando muitos desses arquivos sudoers.d, talvez queira criá-los com nomes por usuário, para que sejam mais fáceis de visualizar. Tenha em mente que a ordenação dos NOMES DE ARQUIVO e das REGRAS dentro do arquivo é muito importante, o ÚLTIMO carregado carrega, seja MAIS ou MENOS permissivo que as entradas anteriores.
You can control the file name ordering by using a prefix of 00-99 or aa/bb/cc, though also keep in mind that if you have ANY files that don't have numeric prefix, they will load after the numbered files, overriding the settings. This is because depending on your language settings the "lexical sorting" the shell uses sorts numbers first and then may interleave upper and lowercase when sorting in "ascending" order.
Tente executar printf '%s\n' {{0..99},{A-Z},{a-z}} | sort
e printf '%s\n' {{0..99},{A-Z},{a-z}} | LANG=C sort
para ver se o idioma atual imprime AaBbCc
etc ou ABC
then abc
para determinar qual seria o melhor prefixo de letra "último" a usar.