Wie ermitteln wir, unter welchem Benutzer das PHP-Skript ausgeführt wird, wenn ich das Skript auf dem Server ausführen? Wird es zufällig unter dem gleichen Benutzer wie Apache oder phpmyadmin ausgeführt? Meine Frage vielleicht falsch eingerahmt, aber ich mag wissen, welche Benutzer, so dass ich entsprechende Berechtigung für verschiedene Ordner in/varWie finde ich heraus, welcher Benutzer das aktuelle PHP-Skript ausführt?
Antwort
whoami
Execute:
<?php echo exec('whoami'); ?>
Hmm zweite Person nach der Bearbeitung. Wie es aussieht funktioniert dies http://stackoverflow.com/questions/7771586/how-to-check-what-user-php-is-running-als – jpiasetz
Hehe, bearbeitet es, nur um meinen Downvote entfernen zu können (es ist nach einer gewissen Zeit gesperrt ..) – Wrikken
Danke :). Ich habe mich nicht wirklich über deine beschwert. Du hattest Recht, lol. – jpiasetz
verwenden:
$_SERVER['REMOTE_USER'];
diese Variable kann oder darf nicht eingestellt werden.
Dies ist nicht was das OP will. Er möchte den * system * user kennen –
Wenn Sie posix functions verfügbar (standardmäßig aktiviert), dann können Sie posix_geteuid
und posix_getpwuid
verwenden Sie den Namen des Benutzers zu bekommen (zumindest in Nicht-Windows-Umgebungen) wie folgt:
$pwu_data = posix_getpwuid(posix_geteuid());
$username = $pwu_data['name'];
Weitere (mehr teuer) Art und Weise eine Shell-Funktion ausführt wie exec verwenden zu laufen whoami es zu tun wäre:
$username = exec('whoami');
oder sogar die Backticks (obwohl Sie die Zeilenumbrüche aus) trimmen müssen:
Ich persönlich brauchte nur immer den Benutzernamen des Benutzers, der das Skript für PHP-Skripte ausführt, die in der Shell (in der Befehlszeile) ausgeführt werden. In der Regel werden Skripts, die beim Erstellen der Antwort auf eine Anforderung ausgeführt werden, die der Webserver verarbeitet, als Webserverbenutzer ausgeführt, z. B. www-data, apache usw. In Apache wird der Benutzer, der den Apache ausführt, httpd Prozesse wird mit der User Richtlinie festgelegt. diese
Verwendung:
echo get_current_user();
Stellen Sie sicher, die Kommentare zu lesen, weil es wie diese Antwort sieht nicht wirklich tun, was Sie wollen.
Dies ist eigentlich der "Besitzer des aktuellen PHP-Skriptes" laut http://php.net/manual/en/function.get-current-user.php –
Verwenden Sie nicht "whoami". Wenn Sie einen Prozess ausführen, ist der Benutzer beim Ausführen eines Skripts nicht unbedingt derselbe wie der effektive Benutzer. Aber auf jeden Fall würde "id" viel nützlichere Informationen liefern. Rufen Sie stattdessen get_current_user() auf. So einfach!
- 1. Wie finde ich heraus, welchen Prozess das Linux-Betriebssystem zu einem bestimmten Zeitpunkt ausführt?
- 2. Wie finde ich heraus, welche Gruppe ein bestimmter Benutzer hat?
- 3. Wie finde ich heraus, welcher Edelstein eine bestimmte Abhängigkeit hat?
- 4. Wie finde ich heraus, welcher Thread den Monitor hält?
- 5. Wie finde ich heraus, welcher Port einen Prozess verwendet?
- 6. Wie finde ich die aktuelle Widgetgröße in tkinter heraus?
- 7. Wie finde ich heraus, wer (welcher Benutzer) die gelöschten Codezeilen für einen gegebenen Git-Commit festschreibt?
- 8. Wie finde ich heraus, welcher Server weniger Hops zwischen Benutzer oder spezifischer IP hat?
- 9. Wie finde ich das aktuelle virtuelle Terminal
- 10. Wie finde ich einen bestimmten Farbwert heraus, den das aktuelle Farbschema für bestimmte Sachen verwendet?
- 11. Wie finde ich den Benutzer-Agent in GWT heraus?
- 12. Wie finde ich heraus, welcher Spieler das nächstbeste Gebot hat? Price is Right game java?
- 13. Wie finde ich heraus, was Javascript ausführt, wenn ich auf ein Element klicke?
- 14. Wie finde ich heraus, ob das Blatt leer ist?
- 15. Wie finde ich heraus, wo das Python-Include-Verzeichnis ist?
- 16. Wie finde ich heraus, was svchost macht?
- 17. Wie finde ich meine aktuelle Benutzer-ID in einem anderen Seiten-Controller heraus, nachdem ich mich eingeloggt habe?
- 18. Wie finde ich heraus, wo NUnit hängt?
- 19. Wie finde ich heraus, welcher Computer in Windows der Domänencontroller programmgesteuert ist?
- 20. Wie finde ich heraus, worauf mach_msg_trap wartet?
- 21. Wie finde ich meinen ISP heraus?
- 22. Wie finde ich den aktuellen Überlaufprüfkontext heraus?
- 23. Wie finde ich programmgesteuert heraus, welcher Modus von Location aktiviert ist?
- 24. Wo finde ich aktuelle, aktuelle Wechselkurse?
- 25. ClearCase: Wie finde ich heraus, von welcher Version ich abgezweigt habe?
- 26. Wie finde ich heraus, wo eine Funktion definiert ist?
- 27. Wie finde ich das aktuelle Verzeichnis in Dart?
- 28. Wie finde ich heraus, welches Paket/Verfahren eine Tabelle aktualisiert?
- 29. Wie finde ich heraus, wer eine Methode aufgerufen hat?
- 30. Wie finde ich heraus, welche Gläser und in welcher Reihenfolge von einem Klassenlader geladen werden?
Googling 'php bestimmen Benutzer' geben Ihnen die benötigten Informationen –
+1 yfgi .... (http://www.php.net/manual/en/function.get-current-user.php#57624) – Wrikken
Sie müssen einige weitere Informationen bereitstellen, damit wir Ihnen hier helfen können, fürchte ich. – crmpicco