Portál AbcLinuxu, 16. června 2025 04:17
Řešení dotazu:
shutdown -h
nebo treba poweroff
Staci si vytvorit soubor vypni.sh
s takovymhle obsahem:
#!/bin/sh
# Vypne pocitac
poweroff
Nastavit mu pravo na spousteni
chmod +x vypni.sh
A pak ho muzes volat:
./vypni.sh
V nekterych distribucich budes potrebovat vyssi prava pro vypinani pocitace. Takze to budes chtit spoustet jako root
var_dump(shell_exec('/opt/shutdown.sh 2>&1'));
"Failed to set wall message, ignoring: The name org.freedesktop.PolicyKit1 was not provided by any .service files Failed to power off system via logind: The name org.freedesktop.PolicyKit1 was not provided by any .service files Failed to open /dev/initctl: Permission denied Failed to talk to init daemon. "
$ chown root:root /opt/shutdown.sh $ chmod u+s /opt/shutdown.sh
sudo shutdown -h
Akorat to bude chtit rici, ze ten uzivatel apache, smi neco takoveho udelat. To te zase bude zajimat tohle cteni:
https://medium.com/@daggerdwivedi/allowing-web-user-on-apache-server-to-run-scripts-as-root-b62c4491e25f
www-data ALL=(root) NOPASSWD: /sbin/shutdown *A shutdown zavolej z PHP takto:
/usr/bin/sudo /sbin/shutdown now --poweroffTím bude mít shutdown dostatečná oprávnění na požádání initu o vypnutí serveru. Hvězdička v sudoers ti umožní nastavit různé parametry, například tak můžeš říct, že se server vypne až za 10 minut:
/usr/bin/sudo /sbin/shutdown --poweroff +10 'Začíná noc.'A když si to náhodou rozmyslíš, tak můžeš ten shutdown ještě zrušit:
/usr/bin/sudo /sbin/shutdown -c
~# echo o > /proc/sysrq-trigger
"sh: 1: /usr/bin/sudo: not found "
Configuration file '/etc/sudoers' ==> File on system created by you or by a script. ==> File also in package provided by package maintainer. What would you like to do about it ? Your options are: Y or I : install the package maintainer's version N or O : keep your currently-installed version D : show the differences between the versions Z : start a shell to examine the situation The default action is to keep your current version. *** sudoers (Y/I/N/O/D/Z) [default=N] ?
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.