Hay os.getuid() que "Devuelve actual identificación del usuario del proceso". ¿Pero cómo averiguo la identificación de cualquier usuario?en Python y Linux cómo obtener la identificación del usuario
20
A
Respuesta
23
Usted podría utilizar pwd.getpwnam()
:
In [5]: pwd.getpwnam('aix').pw_uid
Out[5]: 1004
0
Se podía analizar /etc/passwd
, se almacena allí.
5
pwd
:
import pwd
for p in pwd.getpwall():
print p
pwd.struct_passwd(pw_name='_calendar', pw_passwd='*', pw_uid=93, pw_gid=93, pw_gecos='Calendar', pw_dir='/var/empty', pw_shell='/usr/bin/false')
pwd.struct_passwd(pw_name='_teamsserver', pw_passwd='*', pw_uid=94, pw_gid=94, pw_gecos='TeamsServer', pw_dir='/var/teamsserver', pw_shell='/usr/bin/false')
pwd.struct_passwd(pw_name='_update_sharing', pw_passwd='*', pw_uid=95, pw_gid=-2, pw_gecos='Update Sharing', pw_dir='/var/empty', pw_shell='/usr/bin/false')
pwd.struct_passwd(pw_name='_installer', pw_passwd='*', pw_uid=96, pw_gid=-2, pw_gecos='Installer', pw_dir='/var/empty', pw_shell='/usr/bin/false')
pwd.struct_passwd(pw_name='_atsserver', pw_passwd='*', pw_uid=97, pw_gid=97, pw_gecos='ATS Server', pw_dir='/var/empty', pw_shell='/usr/bin/false')
pwd.struct_passwd(pw_name='_ftp', pw_passwd='*', pw_uid=98, pw_gid=-2, pw_gecos='FTP Daemon', pw_dir='/var/empty', pw_shell='/usr/bin/false')
15
Suponiendo que lo que quiere es la cadena de nombre de usuario asociado con el identificador de usuario para su programa, intente:
import os
import pwd
pwd.getpwuid(os.getuid()).pw_name
Uso os.geteuid() para obtener el identificador de usuario efectivo en vez , si esa diferencia te importa
Use pw_gecos en lugar de pw_name para obtener el "nombre real" si eso está poblado en su sistema.
Cuestiones relacionadas
- 1. Cómo obtener la identificación del usuario actualmente registrado en pyrocms?
- 2. ¿Cómo obtener la identificación del usuario actual conectado a Grails?
- 3. Obtener la identificación? del usuario actual como SharePoint puede?
- 4. ¿Cómo puedo obtener la identificación de usuario asociada con un inicio de sesión en Linux?
- 5. API de Instagram ¿cómo obtener la identificación de usuario?
- 6. Cómo obtener la identificación de abuelos del proceso
- 7. obtener la identificación del iPhone en la aplicación web
- 8. Obtener la identificación de usuario de Facebook por correo electrónico
- 9. Linux: identificación de páginas en la memoria
- 10. Cómo indicar la identificación del proceso dentro de Python
- 11. sqlalchemy flush() y obtener la identificación insertada?
- 12. ¿Cómo puedo obtener la identificación de Facebook del usuario con django-allauth?
- 13. Linux Terminal Display y Python
- 14. ¿Cómo obtener la geolocalización del usuario?
- 15. ¿Cómo se puede extraer la identificación del hardware con Python?
- 16. Cómo crear un usuario en Linux usando python
- 17. Obtener la identificación del último registro insertado en mybatis
- 18. Obtener hwnd por identificación del proceso C++
- 19. ¿Cómo obtener la fecha de creación del archivo en Linux?
- 20. cómo consultar obtener la identificación máxima del tipo varchar y los valores en numérico?
- 21. ¿Cómo obtener el ID del navegador del usuario usando JSF?
- 22. Cómo obtener programáticamente la dirección del montón en Linux
- 23. Qt4.4 cómo obtener la ruta ajustes del usuario
- 24. Cómo obtener información del usuario en Lua
- 25. ¿Cómo obtener la disponibilidad del producto con la identificación del producto en magento?
- 26. Identificación del subproceso en Java
- 27. Node + Mongoose: ¿Obtener la última identificación insertada?
- 28. ¿La mejor manera de obtener la identificación de la máquina en Linux?
- 29. paypal IPN obtener la identificación de transacción del comprador
- 30. Obtener entrada del usuario
Puede almacenarse allí, o en NIS, o en LDAP, o en cualquier otra fuente para la que haya un módulo nsswitch. Es por eso que tenemos API que comienzan con 'getpw', para que no tenga un error porque analizó'/etc/passwd' a mano en un sistema que usa (digamos) NIS para almacenar información del usuario. – mkj
mkj: ¡Gracias! No sabía sobre NIS y LDAP. – vines