V tomto krátkém tutoriálu se naučíme, jak se vyhnout náhodnému vypnutí nebo restartu přes relaci SSH v operačních systémech Linux a Unix pomocí molly-guard utility.
Někdy můžete zapomenout, že na vašem systému běží nedokončená úloha, a vypněte jej nebo restartujte. Výsledek? Probíhající úloha je ukončena a musíte ji začít znovu od začátku. I když existují způsoby, jak přesunout spuštěnou úlohu z jednoho terminálu do druhého , prostě na věci často zapomínáme. Později litujeme, že jsme nebyli opatrní. Tak už ne! Dnes jsem se setkal se záchrannou pomůckou zvanou molly-guard , který se používá k zabránění náhodnému vypnutí nebo restartu linuxových systémů.
molly-guard nainstaluje skript shellu, který přepíše existující příkazy shutdown / reboot / halt / poweroff / coldreboot / pm-hibernate / pm-suspend* a nejprve spustí sadu skriptů, které se musí všechny úspěšně ukončit, než molly-guard vyvolá skutečný příkaz. Jeden ze skriptů kontroluje existující relace SSH. Pokud během relace SSH spustíte některý z výše uvedených čtyř příkazů, skript shellu vás požádá o zadání názvu hostitele, kterého chcete vypnout nebo restartovat. To by mělo adekvátně zabránit náhodnému vypnutí a restartování. molly-guard přesměruje skutečné binární soubory na /lib/molly-guard/ . Molly-guard můžete samozřejmě obejít přímým spuštěním těchto binárních souborů.
Nainstalujte molly-guard v Linuxu
molly-guard je k dispozici ve výchozích repozitářích Debianu, Ubuntu a dalších systémů založených na DEB, jako je Linux Mint, Elementary OS atd.
Chcete-li nainstalovat molly-guard na systémy založené na DEB, spusťte:
$ sudo apt-get install molly-guard
Pro distribuce založené na RPM si stáhněte soubor molly-guard.deb balíček a převeďte jej na nativní balíček Linux, jak je popsáno v následující příručce. V následujícím průvodci přejděte do části s názvem "Převod RPM na balíčky DEB a naopak" a převést deb balíček molly-guard na balíček RPM.
- Jak snadno vytvářet balíčky Linuxu pro více platforem
Vyhněte se náhodnému vypnutí nebo restartu v Linuxu pomocí molly-guard
Je čas otestovat nástroj molly-guard.
Nyní zkuste vypnout nebo restartovat vzdálený systém nebo vps přes SSH:
$ sudo poweroff W: molly-guard: SSH session detected! Please type in hostname of the machine to poweroff: ^C Good thing I asked; I won't poweroff ubuntuserver ...
Vidět? molly-guard se ptá na název hostitele mého serveru Ubuntu. Stiskl jsem CTRL+C abyste se vyhnuli vypnutí.
Podobně jsem vyzkoušel všechny příkazy k vypnutí, restartování systému. Molly-guard se neustále ptá na název hostitele mého systému Ubuntu, aby mohl pokračovat.
[email protected]:~$ sudo reboot W: molly-guard: SSH session detected! Please type in hostname of the machine to reboot: ^C Good thing I asked; I won't reboot ubuntuserver ... [email protected]:~$ sudo shutdown -r now W: molly-guard: SSH session detected! Please type in hostname of the machine to shutdown: ^C Good thing I asked; I won't shutdown ubuntuserver ... [email protected]:~$ sudo shutdown -h now W: molly-guard: SSH session detected! Please type in hostname of the machine to shutdown: ^C Good thing I asked; I won't shutdown ubuntuserver ... [email protected]:~$ sudo halt W: molly-guard: SSH session detected! Please type in hostname of the machine to halt: ^C Good thing I asked; I won't halt ubuntuserver ...
Vyhněte se náhodnému vypnutí nebo restartu během relace SSH
Pokud opravdu chcete vypnout nebo restartovat systém, stačí zadat název hostitele.
W: molly-guard: SSH session detected! Please type in hostname of the machine to halt: ubuntuserver Connection to 192.168.43.2 closed by remote host. Connection to 192.168.43.2 closed.
Jak vidíte ve výše uvedeném výstupu, zadal jsem název hostitele svého systému Ubuntu (např. ubuntuserver). Molly-guard teď ví, že jsem opravdu chtěl svůj systém i tak vypnout, tak ho nechte vypnout.
Dobře, kolegové správci Linuxu a uživatelé, netrpí náhodným vypnutím nebo restartem. Udržujte tento nástroj ve svém arzenálu, abyste zabránili náhodnému vypnutí a restartu vašich produkčních systémů Linux.