Cómo hacer que una aplicación se inicie al iniciar sesión como root

0

Lo que intento hacer es diseñar un script que abra una aplicación, que luego agregaré como un enlace de inicio de sesión para que cuando el usuario inicie sesión, el enlace de inicio de sesión ejecutará el script como root, que luego iniciará la aplicación como root . No tengo experiencia en secuencias de comandos y he probado algunos ejemplos de otras secuencias de comandos, pero fue en vano. Cualquier ayuda sería muy apreciada.

EDITAR. Estoy ejecutando OS X 10.6.4

Stiny861
fuente
¿En qué sistema operativo estás? Ubuntu? Si está aquí, vaya - Ubuntu Start up
slotishtype
Por curiosidad, ¿por qué la aplicación necesita ejecutarse como root?
Stephen Jennings
La aplicación debe ejecutarse como root para evitar que los usuarios intenten matar el proceso. Pueden matar a los suyos, pero como root, no pueden matarlo.
Stiny861

Respuestas:

1

Si es un inicio de sesión gráfico, luego vincule la aplicación a ~ root / Desktop / Autostart /. Si es un inicio de sesión de shell, puede poner comandos en ~ / .login y se invocará. Pero esto es generalmente peligroso y asegúrese de considerar cómo se detendrá el programa, qué sucede cuando el usuario (root) inicia sesión más de una vez, etc.

Wes Hardaker
fuente
0

Puede hacer que el script de shell sea setuid (por lo que siempre se ejecutará como el propietario del archivo, que será root), pero esto es algo muy peligroso. Hay implicaciones de seguridad para hacer que los scripts de shell sean setuid .

El guión se vería así:

#!/bin/sh -
open /Applications/Whatever.app

Ahora haga el script setuid desde la Terminal:

sudo chown root file.sh
sudo chmod 4755 file.sh

El primer comando convierte a root en el propietario del archivo. El segundo lo establece como setuid, lectura / escritura / ejecución por parte de su propietario y lectura / ejecución por parte de todos los demás.

Luego, en Mac OS X, vaya a Preferencias del sistema → Cuentas y agregue el script de shell como elemento de inicio de sesión para el usuario. Ahora, cada vez que el usuario inicia sesión, se llamará a la secuencia de comandos y, dado que es setuid, debería ejecutarse como root.

Stephen Jennings
fuente