Toon posts:

Uit een chroot in een shell-script

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik zit in een chroot-jail en nu wil ik met een shell-scriptje er uit en een programma buiten de chroot aanroepen. Als ik exit doe stopt het shell scriptje ermee. Hoe kan ik in een shell-script uit een chroot-jail komen?

Ik heb nu dit:
Bash:
1
2
3
4
#!/bin/sh

exit
/etc/shutdown.sh

Maar /etc/shutdown.sh wordt natuurlijk nooit aangeroepen.

  • HunterPro
  • Registratie: Juni 2001
  • Niet online
dat kan niet, daarvoor is een chroot jail :)

Verwijderd

Topicstarter
Klinkt logisch.

Bij het opstarten van een computer wordt er een NFS directory gemount, daar wordt een chroot naar gedaan en dan wordt de harde schijf van de computer uitgeschakeld. Dan heb ik dus een stille computer. Nu moet deze echter weer een beetje netjes afgesloten worden en daarom wilde ik dus de chroot jail uit en alles weer unmounten.

Zo te lezen moet ik dus op zoek naar een andere oplossing. Ideeen?

  • Radiant
  • Registratie: Juli 2003
  • Niet online

Radiant

Certified MS Bob Administrator

Is het niet gewoon makkelijker om die NFS share direct als je root te mounten?

  • HunterPro
  • Registratie: Juni 2001
  • Niet online
of je shutdownscript op die nfs partitie zetten :)

Verwijderd

Topicstarter
Radiant schreef op maandag 23 mei 2005 @ 19:44:
Is het niet gewoon makkelijker om die NFS share direct als je root te mounten?
Dat zou inderdaad makkelijker zijn, maar dat lukte niet. Waarschijnlijk in die fase van het opstarten mijn netwerk nog niet ingesteld is.

  • Radiant
  • Registratie: Juli 2003
  • Niet online

Radiant

Certified MS Bob Administrator

Dat zou je kunnen doen door je netwerk in te stellen tijdens het opstarten voordat de root partitie gemount wordt (moet je wel initrd gebruiken).

Overigens kan je volgens mij ook geen shutdown uitvoeren in een chroot, omdat init gestart wordt buiten de chroot.

[ Voor 12% gewijzigd door Radiant op 23-05-2005 20:13 ]


  • HunterPro
  • Registratie: Juni 2001
  • Niet online
Radiant schreef op maandag 23 mei 2005 @ 20:11:
Dat zou je kunnen doen door je netwerk in te stellen tijdens het opstarten voordat de root partitie gemount wordt (moet je wel initrd gebruiken).

Overigens kan je volgens mij ook geen shutdown uitvoeren in een chroot, omdat init gestart wordt buiten de chroot.
wat je kunt doen is een cronjob die buiten de chroot jail draait laten checken of er ergens een flag gezet wordt in de vorm van een file die een process ín de jail wegschrijft. Als die file er is, die file verwijderen en een shutdown inzetten. Klinkt omslachtig maar ik zou niet weten hoe je op een andere wijze dan via óf tcp/ip danwel via het FS moet communiceren tussen init en iets in de jail.

  • Radiant
  • Registratie: Juli 2003
  • Niet online

Radiant

Certified MS Bob Administrator

Dat is wel een idee, maar dan zou je een daemontje of iets moeten schrijven dat dat checkt, omdat je met een cronjob weer schijf activiteit zou krijgen buiten die NFS share en dat wil hij juist weer niet.

Wanneer in het opstart proces wordt er gechroot en wat gebeurt er dan verder? Als er alleen een shell wordt opgestart zou je ook gewoon het systeem kunnen afsluiten zodra die shell geexit wordt.

Verwijderd

Topicstarter
Radiant schreef op maandag 23 mei 2005 @ 20:11:
Dat zou je kunnen doen door je netwerk in te stellen tijdens het opstarten voordat de root partitie gemount wordt (moet je wel initrd gebruiken).

Overigens kan je volgens mij ook geen shutdown uitvoeren in een chroot, omdat init gestart wordt buiten de chroot.
Met initrd moet het inderdaad kunnen. Ik gebruik nu echter tijdelijk de harde schijf inplaats van een stukje geheugen. Dit heeft wel als nadeel dat init heel moeilijk ging doen, dus nu gebruik ik gewoon geen init meer.

Het werkt nu wel, alleen ben ik er niet gerust op dat hij goed afsluit.

  • cool_zero
  • Registratie: Juni 2001
  • Laatst online: 25-10-2022
Ik denk dat de system call pivot_root hier wel uitkomst kan bieden. Je init blijft dan ook gewoon werken en als je dan via je hd wil afsluiten kun je deze eerst nog mounten om gegevens op te slaan. Bij de documentatie van de kernels zit ook een initrd.txt waar hierover wat informatie staat.

  • Sendy
  • Registratie: September 2001
  • Niet online
Ik begrijp je probleem niet. Als je in de chroot zit en een achtergrond taakje zet je harddisk uit (is dat hetzelfde als umounten?) dan kan je toch gewoon de pc uitdoen zonder enige schade? Voor de veiligheid kan je alle applicaties sluiten die in de chroot zijn opgestart; dan kan je helemaal niets meer gebeuren.

Verwijderd

Topicstarter
cool_zero schreef op maandag 23 mei 2005 @ 21:41:
Ik denk dat de system call pivot_root hier wel uitkomst kan bieden.
Dat dacht ik ook, maar pivot_root geeft een foutmelding in de trend van: "function not implemented". Ik denk dat ik iets aan mijn kernel moet veranderen wil dat werken.
Sendy schreef op maandag 23 mei 2005 @ 21:51:
Ik begrijp je probleem niet. Als je in de chroot zit en een achtergrond taakje zet je harddisk uit (is dat hetzelfde als umounten?) dan kan je toch gewoon de pc uitdoen zonder enige schade? Voor de veiligheid kan je alle applicaties sluiten die in de chroot zijn opgestart; dan kan je helemaal niets meer gebeuren.
De lokale harddisk wordt read-only gemount en daar kan dus inderdaad niks gebeuren. De NFS share is nog wel read/write gemount dus daar kunnen wat problemen optreden. Ik denk ook dat alles killen voldoende is.

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Verwijderd schreef op dinsdag 24 mei 2005 @ 00:04:
[...]

De lokale harddisk wordt read-only gemount en daar kan dus inderdaad niks gebeuren. De NFS share is nog wel read/write gemount dus daar kunnen wat problemen optreden. Ik denk ook dat alles killen voldoende is.
Voor nfsmounts maakt 't geen donder uit of je ze unmount voor je reboot of niet.

[ Voor 3% gewijzigd door CyBeR op 24-05-2005 01:03 ]

All my posts are provided as-is. They come with NO WARRANTY at all.

Pagina: 1