Ubuntu: ejecutar el comando al iniciar con "sudo"

91

Me gustaría ejecutar un sudocomando cuando Ubuntu se inicia (antes de que alguien inicie sesión):

sudo searchd

¿Cómo haría esto?

Mark Willis
fuente

Respuestas:

195

Puede agregar el comando en el /etc/rc.localscript que se ejecuta al final del inicio.

Escribe el comando antes exit 0. Todo lo que se escriba después exit 0nunca se ejecutará.

Didier Trosset
fuente
38
Antes, seguro. Todo lo que se escriba después exit 0nunca se ejecutará.
Didier Trosset
Hola también tengo un comando rvmsudo que se ejecutará en la misma situación. el comando normalmente pediría una contraseña. ¿Habrá algún problema si coloco el comando directamente en /etc/rc.local?
ravi1991
@fmonegaglia Depende. Si desea que se inicie el comando y el script espera a que termine antes de continuar con el siguiente comando del script, entonces no &. Si desea que se inicie el siguiente comando incluso si el actual no está terminado, agregue un archivo &.
Didier Trosset
@NoOne Verifica los derechos de acceso a este archivo para el usuario actual. Iniciar el comando del editor con sudo puede ser suficiente.
Didier Trosset
1
Por supuesto que existe y sí, configuré el bit ejecutable. Cuando intento habilitar el servicio, solo recibo The unit files have no installation config (WantedBy, RequiredBy, Also, Alias settings in the [Install] section, and DefaultInstance for template units) […].algún consejo sobre esto?
pez remo
9

Edite la configuración de tty /etc/init/tty*.confcon un shellscript como parámetro:

(...)
exec /sbin/getty -n -l  theInputScript.sh -8 38400 tty1
(...)

Esto es asumiendo que estamos editando tty1 y el script que lee input es elInputScript.sh.

Una advertencia: este script se ejecuta como root, por lo que cuando ingresa cosas tiene privilegios de root. También agregue una ruta a la ubicación del script.

Importante: el script, cuando finaliza, debe invocar / sbin / login, de lo contrario no podrá iniciar sesión en la terminal.

Pepita
fuente
1
esta respuesta fue muy útil para mí cuando construí el dispositivo de nuestro producto, muchas gracias
José F. Romaniello
0

Buenas respuestas. También puede configurar Trabajos (es decir, comandos) con " Crontab " para obtener más flexibilidad (que proporciona diferentes opciones para ejecutar scripts, registrar las salidas, etc.), aunque requiere más tiempo para ser comprendido y configurado correctamente:

Usando '@reboot' puede ejecutar un comando una vez, al inicio.

Terminando : correr$ sudo crontab -e -u root

Y agregue una línea al final del archivo con su comando de la siguiente manera:

@reboot sudo searchd
Javi
fuente