Adicionando sudoer para todos, exceto root

2

Esta é a base do meu problema: gostaria de adicionar sudo direitos a um usuário, mas não usá-lo como root por motivos de segurança.

Eu tenho um script PHP que precisa executar um comando ( drush ) através de exec() . No entanto, o PHP é executado como um usuário e eu quero que o comando seja executado como outro usuário. Isso é necessário porque, se não, há um problema de permissão para gravar no diretório do outro usuário.

O comando drush funciona, disponibilizei para todos os usuários.

O usuário atual (A) é um revendedor do cPanel que criou a outra conta / usuário (B).

Eu posso executar exec('ls -la') como usuário A e ele retornará o conteúdo do CWD enquanto estivermos no diretório inicial do usuário A. O mesmo código com sudo adicionado falha porque o usuário A não está na lista de sudoers.

O comando final faz o download dos arquivos para o diretório do usuário B e se parece com: '<pwd> | sudo -S -u <usrB> drush dl drupal <irrelevant options>'

-S deve executar automaticamente o comando como usuário B usando sua senha.

Executar exatamente o mesmo comando que o root funciona perfeitamente.

Eu queria saber se existe uma maneira de adicionar o usuário A aos sudoers sem acesso como root, e se isso seria seguro para evitar possíveis falhas de segurança. Se não for possível, existem alternativas? Eu vi um poderia excluir diretórios de sudoers usando ! , mas depois percebi que isso seria bastante falho.

Por favor, note que eu sou um desenvolvedor, por isso mesmo que eu saiba algumas noções básicas, eu não sou um profissional. O servidor está executando o CentOS 6.5, WHM / cPanel e eu tenho acesso root, se necessário. A ideia é que uma configuração única impedirá a configuração na criação de novos usuários.

    
por golbarg 14.05.2014 / 19:40

1 resposta

1

O CentOS 6.5 tem exemplos no arquivo sudoers padrão .. assumindo que o usuário é "user_a" e o comando que você quer executar é ls, mas somente no host local

user_a localhost=/bin/ls

se você quiser vários comandos, separe os comandos com uma vírgula

para mais informações, o homem sudoers tem exemplos. link

    
por 14.05.2014 / 19:52