Recebendo permissão negada ao usar o sudo

Recebendo permissão negada ao usar o sudo

Eu adicionei a seguinte linha única /etc/sudoersvia comando visudo:

www-data ALL=(ALL) NOPASSWD: /var/www/db_backup.sh

Ao executar o comando como www-datavia:

sudo -u www-data /var/www/db_backup.sh

Recebo a seguinte mensagem:

sudo: unable to execute /var/www/db_backup.sh: Permission denied

Não sei por que isso aconteceria, pois usei esse mesmo procedimento no passado sem problemas. Deve haver algo que estou ignorando. Alguma coisa aponta para alguém. Meu /etc/sudoersarquivo está listado abaixo:

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


www-data ALL=(ALL) NOPASSWD: /var/www/db_backup.sh



# 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

Além disso, como observação lateral, ao tentar executar o comando sudo /var/www/db_backup.shde dentro de um processo php em execução em www-data, a seguinte mensagem é recebida (embora eu deduza que isso é apenas devido ao problema de as permissões não serem obtidas no arquivo sudoers?):

sudo: no tty present and no askpass program specified

EDITAR

ls -al /var/www/db_backup.sh

produz o seguinte resultado:

-rwxrwx--- 1 root root 523 Jan 7 2019 /var/www/db_backup.sh

Responder1

Conforme observado nos comentários, seu script não pode ser executado por outros usuários. Portanto, conforme mencionado, altere a propriedade do usuário e do grupo e marque-o como executável chown www-data:www-data /var/www/db_backup.sh && chmod +x /var/www/db_backup.sh:. Em relação ao seu segundo problema, ele deveria ser perguntado separadamente, mas de qualquer forma, sem saber exatamente o que o script contém, fica difícil dizer o que há de errado.

informação relacionada