shutdown/reboot added to web interface
This commit is contained in:
parent
b399722dca
commit
98dc7f564e
5 changed files with 59 additions and 10 deletions
|
@ -60,7 +60,7 @@ function configure_secure()
|
|||
sed -i '/getty/d' /etc/inittab
|
||||
|
||||
# remove unnecessary packages
|
||||
dpkg --force-all -P $SECURITY_REMOVE_PACKAGES
|
||||
dpkg --force-all -P $SECURITY_REMOVE_PACKAGES 2>&1 | grep -v "which isn't installed."
|
||||
|
||||
# remove development files
|
||||
rm -f "$DEV_FEATURES_SCRIPT"
|
||||
|
|
|
@ -8,6 +8,7 @@ Lang {
|
|||
Umount = Deaktivierung der Cryptodaten
|
||||
Config = Konfiguration der CryptoBox
|
||||
Log = Protokoll der CryptoBox
|
||||
ShutDown = System
|
||||
}
|
||||
|
||||
|
||||
|
@ -33,6 +34,8 @@ Lang {
|
|||
Update = Aktualisieren
|
||||
Mount = CryptoDaten aktivieren
|
||||
Umount = CryptoDaten deaktivieren
|
||||
PowerOff = ausschalten
|
||||
ReBoot = neu starten
|
||||
}
|
||||
|
||||
|
||||
|
@ -109,6 +112,16 @@ Lang {
|
|||
Title = Crypto-Daten deaktiviert
|
||||
Text = Das verschlüsselte Dateisystem ist nun vor jedem Zugriff geschützt.
|
||||
}
|
||||
|
||||
PowerOff {
|
||||
Title = Abschaltung
|
||||
Text = Die CryptoBox wird gerade heruntergefahren. Spätestens in ein paar Minuten kannst du sie ausschalten.
|
||||
}
|
||||
|
||||
ReBoot {
|
||||
Title = Neustart
|
||||
Text = Die CryptoBox wird gerade neu gestartet. Spätestens in ein paar Minuten ist sie wieder verfügbar.
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
<a href="<?cs var:ScriptName ?>?action=init_ask" title="Ersteinrichtung">Initialisierung</a>
|
||||
<a href="<?cs var:ScriptName ?>?action=show_log" title="Ereignis-Protokoll">Protokoll</a>
|
||||
<a href="<?cs var:ScriptName ?>?action=doc" title="Nutzer-Handbuch">Hilfe</a>
|
||||
<a href="<?cs var:ScriptName ?>?action=shutdown_ask" title="Herunterfahren">Herunterfahren</a>
|
||||
|
||||
<?cs if:Data.Status.DevelopmentMode ?>
|
||||
<a href="/cgi-bin/validate.sh" title="Validation">Test-Sequenzen</a>
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
<h1><?cs var:Lang.Title.ShutDown ?></h1>
|
||||
|
||||
<div align="center">
|
||||
<form action="<?cs var:ScriptName ?>" method="post"
|
||||
enctype="application/x-www-form-urlencoded">
|
||||
|
||||
<input type="hidden" name="action" value="shutdown_do" />
|
||||
|
||||
<button type="submit" name="type"
|
||||
value="poweroff"><?cs var:Lang.Button.PowerOff ?></button>
|
||||
|
||||
<button type="submit" name="type"
|
||||
value="reboot"><?cs var:Lang.Button.ReBoot ?></button>
|
||||
|
||||
</form>
|
||||
</div>
|
|
@ -1,14 +1,6 @@
|
|||
#!/usr/bin/perl
|
||||
#
|
||||
# Vorbereitung:
|
||||
# - die Variable "MNTIMAGE" (siehe unten) setzen - es muss der Name der cryptoloop-image-Datei sein
|
||||
# - in die /etc/fstab einen passenden Eintrag einfuegen, z.B.:
|
||||
# /data/cryptoimage.loop /mnt/crypto auto noauto,user,loop,encryption=aes,keybits=256
|
||||
# - ein Image erstellen (als root):
|
||||
# dd if=/dev/zero of=cryptoimage.loop bs=1M count=10
|
||||
# losetup -k 256 -e aes /dev/loop1 cryptoimage.loop
|
||||
# mkfs.ext3 /dev/loop1
|
||||
# losetup -d /dev/loop1
|
||||
# web interface of the CryptoBox
|
||||
#
|
||||
|
||||
|
||||
|
@ -189,6 +181,20 @@ sub box_init
|
|||
}
|
||||
|
||||
|
||||
sub system_poweroff()
|
||||
{
|
||||
&umount_vol();
|
||||
system("{sleep 5; /sbin/poweroff; } </dev/null &>/dev/null &");
|
||||
}
|
||||
|
||||
|
||||
sub system_reboot()
|
||||
{
|
||||
&umount_vol();
|
||||
system("{sleep 5; /sbin/reboot; } </dev/null &>/dev/null &");
|
||||
}
|
||||
|
||||
|
||||
################### main #########################
|
||||
|
||||
my $query = new CGI;
|
||||
|
@ -363,6 +369,19 @@ if ( ! &check_ssl()) {
|
|||
$pagedata->setValue('Data.Doc.Page', 'CryptoBox.html');
|
||||
$pagedata->setValue('Data.Action', 'doc');
|
||||
}
|
||||
##################### pweroff #######################
|
||||
} elsif ($action eq 'shutdown_ask') {
|
||||
$pagedata->setValue('Data.Action', 'shutdown_form');
|
||||
##################### reboot ######################
|
||||
} elsif ($action eq 'shutdown_do') {
|
||||
if ($type eq 'reboot') {
|
||||
&system_reboot();
|
||||
$pagedata->setValue('Data.Success', 'ReBoot');
|
||||
} else {
|
||||
&system_poweroff();
|
||||
$pagedata->setValue('Data.Success', 'PowerOff');
|
||||
}
|
||||
$pagedata->setValue('Data.Action', 'intro');
|
||||
################### unknown #########################
|
||||
} else {
|
||||
$pagedata->setValue('Data.Error', 'UnknownAction');
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue