Não posso me dar privilégio NOPASSWD para chmod / chown [duplicado]

3

Estou tentando configurar meu computador local (que tem o Linux Mint 13 Maya) para que eu possa chmod & chown de qualquer arquivo com minha conta de usuário regular max .

Seguindo esta página, link

Eu fiz o seguinte:

#edit the /etc/sudoers file via 'visudo' 
sudo visudo

#in the file, added these lines:
Cmnd_Alias NOPASS_CMNDS = /bin/chmod, /bin/chown
max ALL=(ALL) NOPASSWD: NOPASS_CMNDS

Em seguida, salvo. (Eu tenho os locais para chmod e chown usando which )

Então, meu arquivo visudo agora é assim:

#
# 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

Cmnd_Alias NOPASS_CMNDS = /bin/chmod, /bin/chown
max ALL=(ALL) NOPASSWD: NOPASS_CMNDS

# 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

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

#includedir /etc/sudoers.d

Esta é a saída de sudo -l

$ sudo -l
Matching 'Defaults' entries for max on this host:
    env_reset, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin

User max may run the following commands on this host:
    (ALL) NOPASSWD: /bin/chmod, /bin/chown
    (ALL : ALL) ALL

Eu, então, abro uma nova guia do shell e tento sudo chmod um arquivo que pertence a um usuário diferente & grupo, e ele me pede uma senha:

$ ls -l  tmp/0000000001
-rw------- 1 www-data www-data 19245781 Sep 10 16:59 tmp/0000000001

$ sudo chmod +w tmp/0000000001
[sudo] password for max:

Estou sentindo falta de algo aqui? Eu não sei se fiz errado ou não entendi o que eu estava realmente tentando mudar.

Preciso reiniciar ou recarregar / reiniciar algo para ver a alteração?

    
por Max Williams 17.09.2015 / 15:10

1 resposta

3

O problema aqui é que existem duas regras para esse usuário:

(ALL) NOPASSWD: /bin/chmod, /bin/chown
(ALL : ALL) ALL

O segundo vem da linha em sudoers lendo

%sudo   ALL=(ALL:ALL) ALL

O Sudo usará a primeira regra de correspondência a partir da parte inferior do arquivo. Assim, quando você precisar ter opções diferentes para um subconjunto de comandos, precisará certificar-se de que eles estejam listados abaixo linha mais genérica.

Em outras palavras, você precisa ter certeza de que a linha

max ALL=(ALL) NOPASSWD: NOPASS_CMNDS

é colocado após a linha

%sudo   ALL=(ALL:ALL) ALL

no arquivo.

    
por 17.09.2015 / 17:10