18/03/2005, 14:21
|
O_O | | Fecha de Ingreso: enero-2002 Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses Puntos: 129 | |
En PHP .. las llamadas al S.O lo haces con las funciones:
exec() .. sytem() y afines ..
Sólo recuerda como funciona PHP para evitar problemas:
1) PHP al "salir" al S.O. a ejecutar un comando ...lo hace con cierto usuario, eso te va a plantear problemas a la hora de ejecutar ciertos comandos que requieran de un usuario con más nivel que el que PHP tenga (tal vez necesitas un root para ejecutar "password")
2) Las aplicaciones que puedas ejecutar bajo línea de comandos desde PHP .. no deben de tener que interactuar con el cliente. Sólo generar/entregar resultados tras su petición.
3) Si requieres cambiar de usuario momentaneamente para ser otro .. puedes usar: Sudo (comando de Linux que tendras que ver si lo tienes instalado o no en tu servidor).
Por supuesto .. debes tener permisos para hacer todo esto .. En un servicio de hosting por ejemplo común (y compartido) no vas a poder hacer esto.
Otro detalle al margen .. Qmail y otros MTA (Mail Transfer Agent) en general puede (tal vez en combinación con algo más) tener sus usuarios en otros médios de almacenamiento .. es decir .. que no han de ser usuarios del sistema para que funcione la autentificación .. de hecho podrías usar servidores LDAP, Base de datos .. etc. PHP puede conectarse a LDAP para autentificaciones várias .. tambien a cualquier base de datos ..
Por eso, evalua bien el sistema y si es posible usa algo standar para autentificación como LDAP. Que PHP "salga" al S.O. a ejecutar comandos como "sudo" y así tomar hasta el "root" es altamente peligroso. No deberias hacer eso si hay posibilidad de autentificar de otra forma.
Un saludo, |