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