Portál AbcLinuxu, 9. června 2025 18:18
shell_exec('/sbin/shutdown -r now')který spouší user www-data, který nemá práva spustit cmd shutdown, jak mu je jednoduše přidat aniž bych musel instalovat sudo? Předem dík
/proc/sys/kernel/sysrq controls
128. Pak si nastav na soubor /proc/sysrq-trigger
skupinu www-data. A změň nastavení přes chmod z 200 na 200.
Pak můžeš nechat php skriptem do tohoto souboru zapsat 'p' pro vypnutí, nebo 'b' pro restart. Ale podle mě udělat něco takového hraničí se ztrátou soudnosti. Protože ti pak ten stroj otočí kdejaký šmudla co ti najde díru v PHP.
…potřebuji restartovat server (debian9) přes webové rozhraní.Podle mě nemá webový server do spouštění služeb a potažmo zapínání a vypínání serveru vůbec co zasahovat. Ale považuji za občanskou povinnost sebevrahovi, který si to hodlá hodit, najít pořádnou a vhodnou větev. A ne mu ten nápad rozmlouvat.
/sbin/shutdown
:
$ ls -l /sbin/shutdown -rwxr-xr-x 1 root root 27264 Jun 21 20:41 /sbin/shutdown* $ /sbin/shutdown now shutdown: you must be root to do that!
chgrp www-data /sbin/shutdown chmod u+s,o= /sbin/shutdowntak by to snáď mohlo klapnúť.
chgrp www-data /sbin/shutdown
ls -l
lrwxrwxrwx 1 root root 14 Jun 13 22:20 /sbin/shutdown -> /bin/systemctl
#!/bin/sh nc -l -p 1234 && shutdown -rZ PHP pak stačí otevřít a zavřít socket na
localhost:1234
. A hlavně na to nezapomenout a nezačít si scannovat porty, nebo tak…
root
. Privátní klíč zpřístupni uživateli www-data
, do authorized_keys
kromě veřejného klíče přidej parametr command="/sbin/shutdown -r now"
Z PHP už jen spustíš SSH s privátním klíčem.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.