Enrique escribió:
Venga, me intentaré explicar bien...
Tengo un script de en una máquina A, esta es la unica que puede mediante comandos rsh acceder a otras máquinas (y lo necesito en el script), por lo tanto es la unica que puede ejecutar este script.
Pues bien, quiero hacer una interface web para el script, el problema es que la máquina A no tiene (ni debe tener) servidor web, por lo tanto uso una maquina servidora web (llamemosla B).
El problema, como puede hacer que al pulsar un boton en una página web de la máquina B se ejecute un script en A.
La respuesta sería facil, poniendo en el .rhost de A "<maquinaB> <usuarioWeb>". Pero con esto le daria permiso para que ejecutase mas cosas. ¿Como puede hacer que solo pueda ejecutar el script? que este sea el único acceso que tenga, no pueda hacer nada más (no me gustaria por una tonteria comprometer la seguridad de A).
Es decir, hay alguna forma de decir (supongo que en la máquina A): El usuario <usuario> de la máquina B tiene permiso para ejecutar (solo) la aplicación X.
Espero que ahora esté claro,
Gracias,
Enrique.
Bueno, creo que lo que antes te comentaba te podría valer. Te haces el front-end (el script en php) en tu servidor web que tienes en la máquina B. Ese script en php podría conectarse por ssh a la máquina A. Puedes incluso limitar en la máquina A desde qué máquinas se puede entrar por ssh. Puedes preparar A y B para que no sea necesario introducir login y password (es cuestión de configurar bien el ssh de A y B intercambiando las claves necesarias sólo una vez). Una vez ejecutas en B el script en php, éste, mediante la conexión ssh mencionada antes, lanza en A, el script que sólo se puede ejecutar en A. Como te decía puedes crear en A un grupo especial con muy pocos permisos, y un usuario que sólo pertenezca a ese grupo, y sólo a tu script de A le das permisos para ser ejecutado por ese usuario o por el grupo al que pertenece ese usuario. ¿Crees que puede servir?