Anuncios Google

Crear script para iniciar dos demonios (Linux)

Hola, en está ocasión estoy tratando de hacer un pequeño script para iniciar 2 demonios, el problema es que para iniciar estos demonios necesito ser "root" me preguntaba si hay alguna forma de hacer que el script me pida mi contraseña se "loguee" cómo root, inicie los demonios correspondientes, y deje de trabajar cómo root. He intentado lo primero que se me ocurrió que fue usar sudo, su, sudo -i etc... dentro del script, pero ninguna funciona cómo quiero que trabaje. Espero que alguién me puede ayudar.

Saludos.


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de pspgorrister

sudo

Pues yo creo que la forma más cómoda es usar sudo, si dices que no te funciona como quieres, supongo que es porque te pregunta la contraseña. Puedes hacer que sudo no te pregunte la contraseña de root al usarlo, pero antes tienes que hacer 2 cosas:

  1. Añadir a tu usuario en el grupo sudo: adduser tu_usuario sudo
  2. Editar la configuración de sudo para que no pregunte la pass a los usuarios del grupo sudo. Yo lo hago con visudo,cuando entres en el editor, verás 2 lineas así. fíjate que como dice la primera hay que descomentar la segunda si quieres que no pida pass.

# Uncomment to allow members of group sudo to not need a password
%sudo ALL=NOPASSWD: ALL


Con eso ya puedes usar sudo en tu script sin que te pregunte la pass.


LuaDiE: Crea en Lua sin teclear código. Compatible HM7, HMv2, LuaPlayer, LuaDEV y PGE.

Imagen de burnxez

Progreso

Pues gracias a eso ya he progresado un poco, sólo que en mi caso se trata del grupo "wheel" en lugar de "sudo" dentro de la configuración de visudo.

Bueno, gracias a eso he logrado que no me pida contraseñas sin embargo aún no funciona, la verdad es que creo que todo lo estoy aplicando de manera erronea, pues sólo me tira error tras error, ¿Podrias asesorarme un poco más?

Los demonios en cuestión son mysqld y httpd para un pequeño servidor. Según mi completa ignorancia en cuestiones de programación en bash, la estructura del script sería parecida a esta:

#!/bin/bash

sudo
/etc/rc.d/httpd start
/etc/rc.d/mysqld start

Sin embargo me tira error y no me deja iniciar los demonios, en concreto lo que me arroja la terminal son instrucciones sobre cómo usar sudo y la correspondiente linea de fallo al iniciar los demonios, el fallo es debido a que no los inicia cómo root, pues si lo hago manualmente funciona de maravilla.

Si pudieras hecharme un poco de luz aqui estaría más que agradecido.

PD: La ubicación de los demonios es correcta, no se encuentran dentro de init.d

Saludos.

Imagen de pspgorrister

sudo

Prueba con

#!/bin/bash
sudo /etc/rc.d/httpd start
sudo /etc/rc.d/mysqld start
Imagen de burnxez

Eso es

Muchas gracias por la ayuda :D

Saludos.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.