Você está na página 1de 3

M ON D AY, M AY 1 8 , 2 0 0 9

SUDO + PHP - Executando comandos como Root


no PHP
preciso saber qual o usurio de execuo do PHP:
<?php echo exec("whoami"); ?>
Editar o /etc/sudoers, este arquivo tem que ter permisses apenas
de leitura, no pode ficar com permisses de escrita, por isso antes
de editar o arquivo d permisses de escrita:
# chmod u+w /etc/sudoers
Depois de editar, tire a permisso de escrita:
# chmod u-w /etc/sudoers
Ento adicionar no /etc/sudoers no fim do arquivo:
%USUARIO_DO_PHP ALL= NOPASSWD: /CAMINHO/DO/COMANDO
Se no colocar no fim do arquivo pode ter outra regra depois que
anule esta nova regra.
No PHP s executar o comando com o SUDO:
<?php echo exec("sudo /CAMINHO/DO/COMANDO.sh"); ?>
Caso no tenha sucesso, verifique os logs de segurana:
# tail -n 100 /var/log/secure
L AB E L S
BSD (3)
C# (5)
C++ (4)
CajuScript (1)
Coisas da Vida
(2)
Flash (1)
Java (8)
Jetty (1)
Jogos (3)
Linux (17)
Nginx (1)
PHP (2)
Python (2)
Solaris (4)
SQL (1)
VirtualBox (1)
B L OG ARCH I VE
2012 (1)
2011 (4)
2010 (4)
2009 (8)
October
(1)
September
(1)
June (1)
May (1)
SUDO +
mais

Prximoblog Criarumblog

Login
e d u v e k s
Se tiver esta mensagem de erro:
May 18 16:56:41 SERVIDOR sudo: USUARIO_DO_PHP : sorry, you must
have a tty to run sudo ; TTY=unknown ; PWD=/PASTA/DO/PHP ;
USER=root ; COMMAND=/CAMINHO/DO/COMANDO
Ento preciso ir no /etc/sudoers e comentar a seguinte linha que
contm o "Defaults requiretty", assim:
# Defaults requiretty
Assim dever funcionar.
POSTED BY EDUARDO VELASQUES AT 3: 11 PM
LABELS: LI NUX, PHP
2 C OM M EN T S :
PHP -
Executan
do
comando
s como
Root no
PHP
March (1)
February
(3)
2008 (18)
2007 (2)
AB OU T M E
EDUARDO
VELASQUES
VI EW MY
COMPLETE
PROFI LE
Joo Corra June 12, 2012 at 12:56 PM
Muito bom!
Reply
Anonymous July 10, 2012 at 1:37 PM
Excelente!
Att,
Renan
Reply
Newer Post Older Post
Enteryourcomment...
Commentas:
GoogleAccount
Publish

Preview
Home
Subscribe to: Post Comments (Atom)

Você também pode gostar