Inicio de sesión automático como root o como cualquier otro usuario en Linux en modo consola

0

mi sistema requiere ejecutarse automáticamente al inicio. Entonces, escribí un módulo simple y lo registré dentro / inittab. se ejecuta automáticamente al inicio, pero el problema es que cuando enciendo la computadora, debe iniciar sesión automáticamente como root.

¿Hay alguna manera de hacer esto?

por cierto estoy usando 2.6.29 de la versión del núcleo.

gracias por adelantado.

mashhur
fuente
1
... ¿Por qué escribirías un módulo para iniciar sesión como root? ¿No sería más fácil simplemente modificar los scripts de inicio?
Ignacio Vazquez-Abrams
@ IgnacioVazquez-Abrams: No parece que "módulo" se esté utilizando en el sentido de "módulo de kernel", ya inittabque de alguna manera está involucrado.
Ben Voigt
Ver superuser.com/questions/407914/…
Daniel Andersson
@Daniel Andersson, ya probé estas opciones y llegué con un error: ¿ /bin/sh: exec: line 1: /sbin/login: not founddónde está el archivo de inicio de sesión?
mashhur
No nos ha dicho qué sistema operativo (= distribución en este caso) está utilizando, pero una forma fácil de encontrar el loginbinario es ejecutarlo which login, lo que probablemente le dirá /bin/login.
Daniel Andersson

Respuestas:

0

Dado que la forma de usar el existente initfalla, use la configuración del núcleo.

Cuando inicie, agregue init=/bin/basha la línea de comandos de su núcleo: esto lo obliga a omitir Upstart y debería darle un único shell de usuario, ya que el núcleo se genera bashcomo el usuario raíz.

nuevo123456
fuente
gracias new123456 :) tu nombre y respuesta son geniales! eso es lo que estoy buscando. Y si sabes, por favor dime cómo ejecutar un programa después de obtener bash. Digamos que en la carpeta raíz, hay un programa "principal" que imprime "Hello World" 100 veces. cuando se inicia el kernel y se debe ejecutar el programa principal de la consola bash de get. por favor cualquier idea! Gracias.
mashhur
@mashur automáticamente? Inicie sesión y edite el programa en ~/.bashrc. Entonces, para root, agregue /helloal final de /root/.bashrc.
nuevo123456
0

Si establece el nivel de ejecución en 1 y es rhel / centos o distribuciones similares, y no hay otros sistemas de seguridad configurados, iniciará sesión automáticamente como root. Entonces tendría que iniciar varios servicios, como redes y programas, usted mismo.

johnshen64
fuente
hola jhonshen64! gracias a tu respuesta expresa :) e hice lo que dijiste, pero aquí estoy un poco confuso. después de cambiar el nivel de ejecución a 1: Enabling swap space: [ OK ] INIT: Entering runlevel: 1 Entering non-interactive startup Telling INIT to go to single user mode. init: /dev/initctl: No such file or directory INIT: no more processes left in this runlevel Entonces, ¿estos mensajes me dicen que escriba un controlador de dispositivo char llamado / dev / initctl y ejecute mi programa a través de ese controlador?
mashhur
para realizar la ejecución automática, utilicé init = / bin / bash y para ejecutar una aplicación después de iniciar sesión, escribí un script ejecutable (script sysV) PROBLEMA
RESUELTO