Executa o programa no modo somente leitura

2

Eu tenho um apache rodando sob o usuário apache com muitas permissões (rw para múltiplos diretórios). Agora eu quero deixar alguns usuários fazer upload de programas / scripts via webform e executá-los, com a função php exec() na página php de upload de arquivo. No entanto, não quero que esses programas consigam escrever nada no disco rígido. Parece que o programa sudo pode fazer o que eu preciso, mas não sei como usá-lo.
Shorter: como executar programas e scripts no modo readonly sob um usuário poderoso?
Caso seja importante, meu sistema é o Centos 6.

    
por Serge Seredenko 20.08.2015 / 02:44

1 resposta

3

Você está certo, o sudo para um usuário com permissão de leitura, mas não de gravação, executará um comando de modo que tenha acesso somente de gravação aos arquivos para os quais você concede permissão.

sudo -u some_user cmdname

A execução de programas carregados por usuários arbitrários requer precauções extremas de segurança . Infelizmente, as explorações de raiz local não são incomuns no Linux. Permitir que os usuários executem programas que eles enviam sem algum tipo de cadeia / contenção, se não uma máquina virtual, é imprudente.

Você deve criar seu sistema para que ele seja pelo menos provavelmente seguro, mesmo que o programa carregado aproveite uma exploração raiz sem patches para elevar seus privilégios de nobody para root .

    
por 20.08.2015 / 02:48