init

Zdenek Pytela letty na mrakoplas.phil.muni.cz
Úterý Únor 4 12:05:37 CET 2003


Jan Kasprzak píše:
> (5) nektere UNIXy se snazi spoustet /bin/sh na spustitelne soubory,
> 	jejichz magicke cislo system nezna, nebo aspon ktere maji
> 	uvedeno jen "#!" bez cesty k interpretu.
> 
> 	Dynamicky linker neni hard-codovan v jadre - vola se jako
> normalni program z crt1.o nebo tak nejak.
> 
> 	Cestu k modprobe lze zmenit, stejne tak k hotplug helperu.
> Jedine zakompilovane je opravdu /sbin/init (a to nektera jadra - nevim
> jestli jeste i ta dnesni - se krome /sbin/init pokousela spoustet
> /etc/init a /bin/init, pokud /sbin/init neexistoval), a pak /bin/sh
> u nekterych UNIXu.
linux-2.4.20/init/main.c:
...
       /*
         * We try each of these until one succeeds.
         *
         * The Bourne shell can be used instead of init if we are
         * trying to recover a really broken machine.
         */

        if (execute_command)
                execve(execute_command,argv_init,envp_init);
        execve("/sbin/init",argv_init,envp_init);
        execve("/etc/init",argv_init,envp_init);
        execve("/bin/init",argv_init,envp_init);
        execve("/bin/sh",argv_init,envp_init);
        panic("No init found.  Try passing init= option to kernel.");
...

-- 

--Zdeněk Pytela, <letty na mrakoplas.phil.muni.cz>



Další informace o konferenci Linux