Adicionando permissões elevadas a scripts em um diretório

Adicionando permissões elevadas a scripts em um diretório

Eu tenho um diretório contendo alguns scripts que preciso invocar a partir de uma solicitação da web. Os scripts precisam de permissões elevadas para serem executados.

Meu pensamento atual é adicionar as seguintes linhas a /etc/sudoers:

Cmnd_Alias WEB_COMMANDS = /path/to/scripts
www-data ALL=(ALL) NOPASSWD: WEB_COMMANDS

Esta é a abordagem correta para este problema? Ou estou causando uma potencial vulnerabilidade de segurança?

Usando CentOS 7, se isso faz alguma diferença.

Responder1

Qualquer coisa é uma vulnerabilidade potencial de segurança. Duas coisas:

Em primeiro lugar, você estáclaroprecisa de raiz? Por que? Você pode fazer isso com recursos? (Você provavelmente pode.)

Dito isto, seu exemplo é quase certeiro. Adicione um asterisco após o caminho:

Cmnd_Alias WEB_COMMANDS = /path/to/scripts/*

E agora vai funcionar. Mas cuidado, se algum desses scripts puder ser modificado por um invasor, o invasor ganharáACESSO ROOT COMPLETO. Eles podem simplesmente exec('/bin/bash')ter uma concha. Definitivamente, siga a rota dos recursos por script, se possível, e DEFINITIVAMENTE bloqueie o diretório do script de qualquer maneira. Veresta resposta unix.separa obter informações sobre como gerenciar recursos com scripts.

informação relacionada