Não é possível usar: NOPASSWD em sudoers

2

Eu tenho o seguinte arquivo sudoers:

misha@misha-K42Jr:~$ sudo cat /etc/sudoers
[sudo] password for misha: 
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

misha   ALL = (root) NOPASSWD: /sbin/pm-suspend

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

Eu quero executar / sbin / pm-suspend sem digitar minha senha. Estou seguindo este exemplo: Como executo comandos sudo específicos sem uma senha?

No entanto, quando tento suspender, ainda recebo a solicitação de senha:

misha@misha-K42Jr:~$ sudo /sbin/pm-suspend
[sudo] password for misha:

O que estou fazendo de errado?

    
por mpenkov 15.11.2012 / 03:07

2 respostas

5

pm-suspend não está abaixo de /sbin/

misha   ALL = (root) NOPASSWD: /usr/sbin/pm-suspend

Pode dar-lhe melhor sorte.

    
por Alex R 15.11.2012 / 10:17
1

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/sleepytime

Insira sua permissão de concessão de linha: misha ALL= NOPASSWD: /usr/sbin/pm-suspend

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.

  

Você pode controlar a ordenação de nomes de arquivos usando um prefixo de 00-99 ou aa / bb / cc, mas lembre-se de que, se tiver ALGUNS arquivos que não tenham prefixo numérico, eles serão carregados após o número arquivos, sobrescrevendo as configurações. Isso ocorre porque, dependendo das configurações de idioma, a "ordenação lexical" do shell usa os primeiros tipos de classificação e, em seguida, pode intercalar maiúsculas e minúsculas ao classificar em ordem "crescente".

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 seu idioma atual imprime AaBbCc etc ou ABC then abc para determinar qual seria o melhor prefixo de letra "último" a usar.

    
por dragon788 22.05.2017 / 23:08