Beste tweakers
Op mijn FreeBSD server heb ik een webserver (Apache22) draaien die moet fungeren als een soort van GUI. Het is de bedoeling dat ik bepaalde harde schijven in standby kan zetten, de server kan uitschakelen of rebooten en bepaalde services kan aan- of uitzetten.
Om de www gebruiker, waar de child processen van Apache immers onder draaien, rechten te geven tot de nodige commando's gebruik ik Sudo met behulp van de PHP functie shell_exec();.
Het eigenaardige aan de zaak is dat initieel bij het opstarten van de FreeBSD, Sudo niet wil werken onder de www gebruiker. Ook niet de commando's die gelinkt zijn aan geïnstalleerde ports zoals Ataidle of Smartmontools. Echter nadat ik Apache herstart (/usr/local/etc/rc.d/apache22 restart), dan lijken Sudo en de andere commando's wel te werken.
Hoe is dit mogelijk? Uiteindelijk maakt het toch geen verschil of Apache opgestart wordt bij het booten of manueel? Ik kan natuurlijk permanent een script schrijven zodat steeds Apache herstart, maar dat lijkt me niet echt de bedoeling en eerder omslachtig.
Op mijn FreeBSD server heb ik een webserver (Apache22) draaien die moet fungeren als een soort van GUI. Het is de bedoeling dat ik bepaalde harde schijven in standby kan zetten, de server kan uitschakelen of rebooten en bepaalde services kan aan- of uitzetten.
Om de www gebruiker, waar de child processen van Apache immers onder draaien, rechten te geven tot de nodige commando's gebruik ik Sudo met behulp van de PHP functie shell_exec();.
Het eigenaardige aan de zaak is dat initieel bij het opstarten van de FreeBSD, Sudo niet wil werken onder de www gebruiker. Ook niet de commando's die gelinkt zijn aan geïnstalleerde ports zoals Ataidle of Smartmontools. Echter nadat ik Apache herstart (/usr/local/etc/rc.d/apache22 restart), dan lijken Sudo en de andere commando's wel te werken.
Hoe is dit mogelijk? Uiteindelijk maakt het toch geen verschil of Apache opgestart wordt bij het booten of manueel? Ik kan natuurlijk permanent een script schrijven zodat steeds Apache herstart, maar dat lijkt me niet echt de bedoeling en eerder omslachtig.