¿Cómo determinamos en qué usuario se ejecuta el script php cuando ejecuto el script en el servidor? ¿Se ejecuta bajo el mismo usuario que apache o phpmyadmin por casualidad? Mi pregunta tal vez enmarcada erróneamente, pero me gustaría saber qué usuario de modo que el conjunto de permisos apropiados para diferentes carpetas en/var¿Cómo puedo averiguar cuál es el usuario que ejecuta el script php actual?
Respuesta
Ejecutar whoami
:
<?php echo exec('whoami'); ?>
Hmm segunda persona downvote después de haber sido editado. Tal como está, esto funciona, ver http://stackoverflow.com/questions/7771586/how-to-check-what-user-php-is-running-as – jpiasetz
Hehe, editado solo para poder quitar mi downvote (está bloqueado después de un cierto tiempo ..) – Wrikken
Gracias :). Realmente no me quejaba del tuyo. Estabas en lo cierto jeje. – jpiasetz
Utilice esta:
$_SERVER['REMOTE_USER'];
esta variable puede o no puede establecerse.
Esto no es lo que el OP quiere Quiere saber el * sistema * usuario –
Si tiene posix functions disponible (habilitado por defecto), puede utilizar posix_geteuid
y posix_getpwuid
para obtener el nombre del usuario (al menos en entornos que no sean Windows), así:
$pwu_data = posix_getpwuid(posix_geteuid());
$username = $pwu_data['name'];
Otro (más caro) manera de hacerlo sería utilizar una función de shell a ejecutar como exec para ejecutar whoami:
$username = exec('whoami');
o incluso los acentos abiertos (aunque es posible que tenga que recortar el salto de línea apagado):
$username = `whoami`;
Yo personalmente solo he necesitado siempre para obtener el nombre de usuario del usuario que ejecuta el script para los scripts PHP que se ejecutan en el shell (en la línea de comandos). Normalmente, las secuencias de comandos que se ejecutan en el proceso de generar la respuesta a una solicitud que el servidor web está manejando se ejecutarán como el usuario del servidor web, como www-data, apache, etc. En Apache, el usuario que ejecuta el apache/Los procesos httpd se configuran con la directiva User.
Utilice esta:
echo get_current_user();
asegúrese de leer los comentarios, porque parece que esta respuesta en realidad no hace lo que quiere.
Este es en realidad el "propietario del script PHP actual" según http://php.net/manual/en/function.get-current-user.php –
No utilice "whoami". Cuando ejecuta un proceso, el usuario no necesariamente será el mismo que el usuario efectivo durante la ejecución de un script. Pero en cualquier caso, "id" proporcionaría información mucho más útil. En su lugar, llame a get_current_user(). ¡Tan sencillo!
- 1. PHP: Cómo establecer el directorio de trabajo actual para que sea el mismo que el directorio que ejecuta el script
- 2. Cómo hacer que el script php ejecute otro script php
- 3. ¿Cómo puedo obtener el nombre del usuario que ejecuta mi script de Perl?
- 4. ejecuta php script automáticamente
- 5. ¿Cuál es el elemento actual en Javascript?
- 6. ¿Cómo puedo averiguar la profundidad de color actual de una máquina que ejecuta vista/w7?
- 7. ¿Puedo encontrar la ruta del ejecutable que ejecuta un script python desde el script python?
- 8. ¿Cómo se ejecuta exactamente un script PHP?
- 9. Powershell: busque el usuario que invocó el script
- 10. ¿Cuál es el estado actual de la comunidad PHP?
- 11. Mensajes de eco mientras el script php aún se ejecuta
- 12. obtener el directorio actual de script php symlink'd y no real script php
- 13. Averiguar si el tipo es instanciable
- 14. ¿Recibe el nombre de usuario de Windows del usuario actual que usa php?
- 15. ¿Ejecuta el script bash desde otro script sin esperar a que el script termine de ejecutarse?
- 16. Inno Setup: ¿Cómo obtener el directorio de usuario actual cuando se ejecuta el instalador como administrador?
- 17. Obtiene el usuario actual de Ver
- 18. ¿Cómo detectar el directorio actual en el que ejecuto mi script de shell?
- 19. ¿Cómo puedo obtener el directorio de usuario actual?
- 20. ¿Cuál es el estado actual de GWT?
- 21. ¿Cómo puedo averiguar qué script, programa o shell ejecutó mi script de Perl?
- 22. ¿Cómo puedo obtener el usuario actual en Liferay?
- 23. Averiguar si el usuario presionó el botón Atrás en uinavigationcontroller?
- 24. Determinar usuario actual en Apps Script
- 25. Barra de carga mientras se ejecuta el script
- 26. ¿Cómo puedo depurar un script Launchd que no se ejecuta en el inicio?
- 27. ¿Cómo puedo averiguar el valor de $ (ProjectDir)?
- 28. ¿Cómo averiguar el contexto actual de control de desbordamiento?
- 29. ¿Cómo averiguar el tamaño del widget actual en tkinter?
- 30. ¿Cuál es el origen de '.' es decir, el directorio actual?
Google 'php determine user' le dará la información necesaria –
+1 yfgi .... (http://www.php.net/manual/en/function.get-current-user.php#57624) – Wrikken
Tendrás que proporcionar más información para que podamos ayudarte aquí, me temo. – crmpicco