Fórum Ubuntu Linux - PT
Suporte Técnico => Programação e Scripts => Tópico iniciado por: bred81 em 14 de Outubro de 2010, 09:48
-
Opa!
Eu tenho um script em php (que pode muito bem ser exportado pra bash, mas em php seria bom) aonde (por ser em php) é executado pelo www-data. Por questões de segurança, quando for executar este script, quero trocar o usuário para um de um grupo específico.
Eu pensei em usar o comando su usuario, mas, não sei como passar a senha pra ele.
A senha é passada como a maioria das páginas de login que vemos pela internet, com um usuário e senha.
Também, se alguém souber (esse só pro pessoal do php), como eu sei que houve erro quando rodo o comando sheel_exec?
Em bash também não sei fazer isso.
Alguém pode me ajudar?
Esse script tem finalidade administrativa, pra facilitar a vida do pessoal que se quebra todo com o terminal.
Pra exemplificar minha dúvida:
echo "User: "
read user
echo "Password: " (eu sei que há maneiras de esconder a senha, mas isso é só um exemplo)
read password
su $user (nesse ponto aqui, não sei como passar a senha para responder ao su)
echo $password (?)
-
Dá uma olhada no suPHP e Expect, de alguma forma eles podem ajudar.
-
Olha, queria saber como resolver isso também, no meu caso o script tem que fazer login como root, mas, não to conseguindo passar a senha como parâmetro, quando eu acho o comando su, ele fica esperando a senha ser digita... queria passar como parâmetro a senha, para ele não esperar a senha ser digitada, e o script executar os próximos comandos.
-
A mesma coisa.
O Expect pode simular que a senha foi digitada na entrada padrão (dá pra usar junto com o php). http://www.php.net/manual/pt_BR/book.expect.php (ou shell_exec??)
Já o suPHP é um modulo que faz com que os scripts sejam executados pelos seu criadores (no lugar do www-data), ai seria questão de liberar no sudoers um usuário X e usar esse mesmo usuário como dono dos scripts.
-
Olha, queria saber como resolver isso também, no meu caso o script tem que fazer login como root, mas, não to conseguindo passar a senha como parâmetro, quando eu acho o comando su, ele fica esperando a senha ser digita...
Já tentou usar sudo?
-
Sim, mas ele fica esperando a senha do mesmo jeito.