Mojnsen!
Ich möchte für ein paar Jungs bei uns aufm TeamSpeak ein winzig kleines Dashboard erstellen, welches nur dazu dient, um per exec() oder system() oder wasweißich unsere kleine Audioritze, also den Musikbot, zu starten oder zu beenden. Das möchte ich deshalb so realisieren, weil der Bot doch schon einen ordentlichen Haufen meiner geringen Ressourcen frisst und weil die Jungs nicht alle die technikaffinsten sind und ich denen deshalb, neben den Sicherheitsbedenken, lieber keinen SSH-Zugriff gewähre. Nun stoße ich aber vor die Sicherheitslimitierungen eines UNIX-Systems. Nginx und PHP laufen selbstverständlich als der User www-data. Der TS läuft aber zusammen mit der Audioritze auf dem User teamspeak und auch nur der User teamspeak kann TS und Bot starten (abgesehen von root). Dementsprechend kann ich den natürlich nicht starten, neben der Tatsache, dass ich den eigentlich auch gar nicht als User www-data starten will. Jetzt fallen mir nur die folgenden Lösungen ein, wobei ich weiß, dass die Lösung eigentlich so nah und einfach ist:
Bietet PHP da vllt was ganz Einfaches, was ich bisher übersehen habe? Oder gibt es wirklich nur diese drei (bzw. vier) Möglichkeiten?
mfg Marcel
Ich möchte für ein paar Jungs bei uns aufm TeamSpeak ein winzig kleines Dashboard erstellen, welches nur dazu dient, um per exec() oder system() oder wasweißich unsere kleine Audioritze, also den Musikbot, zu starten oder zu beenden. Das möchte ich deshalb so realisieren, weil der Bot doch schon einen ordentlichen Haufen meiner geringen Ressourcen frisst und weil die Jungs nicht alle die technikaffinsten sind und ich denen deshalb, neben den Sicherheitsbedenken, lieber keinen SSH-Zugriff gewähre. Nun stoße ich aber vor die Sicherheitslimitierungen eines UNIX-Systems. Nginx und PHP laufen selbstverständlich als der User www-data. Der TS läuft aber zusammen mit der Audioritze auf dem User teamspeak und auch nur der User teamspeak kann TS und Bot starten (abgesehen von root). Dementsprechend kann ich den natürlich nicht starten, neben der Tatsache, dass ich den eigentlich auch gar nicht als User www-data starten will. Jetzt fallen mir nur die folgenden Lösungen ein, wobei ich weiß, dass die Lösung eigentlich so nah und einfach ist:
- Root-Passwort im PHP-Script hintergelegen (gewaltige Katastrophe)
- Passwort des Users "teamspeak" im Script hinterlegen (genauso bescheuert)
- PHP als Root laufen lassen (genauso durch wie Punkt 1)
Bietet PHP da vllt was ganz Einfaches, was ich bisher übersehen habe? Oder gibt es wirklich nur diese drei (bzw. vier) Möglichkeiten?
mfg Marcel
Zuletzt bearbeitet: