pwd module
en Python proporciona acceso a la base de datos de contraseñas y cuentas de usuario de Unix . Cada entrada almacenada en la base de datos de contraseñas y cuentas de usuario de Unix se informa como un objeto similar a una tupla cuyos atributos son similares a los miembros de la estructura passwd definida en el archivo de encabezado <pwd.h> .
Los siguientes son los atributos del objeto tipo tupla que representa las entradas almacenadas en la base de datos de contraseñas y cuentas de usuario de Unix:
Índice | Atributos | Sentido |
---|---|---|
0 | pw_name | Nombre de inicio de sesión |
1 | pw_contraseña | Contraseña cifrada opcional |
2 | pw_uid | ID de usuario numérico |
3 | pwd_gid | ID de grupo numérico |
4 | pw_gecos | Nombre de usuario o campo de comentario |
5 | pw_dir | Directorio de inicio del usuario |
6 | pw_shell | Intérprete de comandos de usuario |
Nota: pwd module
es un servicio específico de UNIX. Por lo tanto, todos los métodos de este módulo están disponibles solo en versiones UNIX.
pwd module
define los siguientes tres métodos:
pwd.getpwuid() method
pwd.getpwnam() method
pwd.getpwall() method
método pwd.getpwuid() –
pwd.getpwnam()
El método en Python se usa para obtener la entrada de la base de datos de contraseñas para la identificación de usuario especificada.
Sintaxis: pwd.getpwuid(uid)
Parámetro:
uid: un valor numérico que representa la identificación del usuario para el cual se requiere la entrada de la base de datos de contraseñas.Tipo de devolución: este método devuelve un objeto similar a una tupla de la clase ‘pwd.struct_passwd’ que representa la entrada de la base de datos de contraseñas para la identificación de usuario especificada.
Código: Uso del método pwd.getpwuid()
# Python program to explain pwd.getpwuid() method # importing pwd module import pwd # User id uid = 1000 # Get the password # database entry for the # specified user id # using pwd.getpwuid() method entry = pwd.getpwuid(uid) # Print the retrieved entry print("Password database entry for user id : % d:" % uid) print(entry) # User id uid = 0 # Get the password # database entry for the # specified user id # using pwd.getpwuid() method entry = pwd.getpwuid(uid) # Print the retrieved entry print("Password database entry for user id : % d:" % uid) print(entry)
Password database entry for user id : 1000 pwd.struct_passwd(pw_name='ihritik', pw_passwd='x', pw_uid=1000, pw_gid=1000, pw_gecos='Hritik,,, ', pw_dir='/home/ihritik', pw_shell='/bin/bash') Password database entry for user id : 0 pwd.struct_passwd(pw_name='root', pw_passwd='x', pw_uid=0, pw_gid=0, pw_gecos='root', pw_dir='/root', pw_shell='/bin/bash')
método pwd.getpwnam() –
pwd.getpwnam()
El método en Python se usa para obtener la entrada de la base de datos de contraseñas para el nombre de usuario especificado
Sintaxis: pwd.getpwnam(nombre)
Parámetro:
nombre: un valor de string que representa el nombre de usuario para el cual se requiere la entrada de la base de datos de contraseñas.Tipo de devolución: este método devuelve un objeto similar a una tupla de la clase ‘pwd.struct_passwd’ que representa la entrada de la base de datos de contraseñas para el nombre especificado.
Código: Uso del método pwd.getpwnam()
# Python program to explain pwd.getpwnam() method # importing pwd module import pwd # User name name = "ihritik" # Get the password # database entry for the # specified username # using pwd.getpwnam() method entry = pwd.getpwnam(name) # Print the retrieved entry print("Password database entry for '% s':" % name) print(entry) # User name name = "root" # Get the password # database entry for the # specified username # using pwd.getpwnam() method entry = pwd.getpwnam(name) # Print the retrieved entry print("\nPassword database entry for '% s':" % name) print(entry)
Password database entry for 'ihritik': pwd.struct_passwd(pw_name='ihritik', pw_passwd='x', pw_uid=1000, pw_gid=1000, pw_gecos='Hritik,,, ', pw_dir='/home/ihritik', pw_shell='/bin/bash') Password database entry for 'root': pwd.struct_passwd(pw_name='root', pw_passwd='x', pw_uid=0, pw_gid=0, pw_gecos='root', pw_dir='/root', pw_shell='/bin/bash')
método pwd.getpwall() –
pwd.getpwall()
El método en Python se usa para obtener la lista de todas las entradas disponibles almacenadas en la base de datos de contraseñas.
Sintaxis: pwd.getpwall()
Parámetro: No se requiere ningún parámetro.
Tipo de devolución: este método devuelve una lista de objetos tipo tupla de la clase ‘pwd.struct_passwd’ cuyos elementos representan todas las entradas disponibles almacenadas en la base de datos de contraseñas.
Código: Uso del método pwd.getpwall()
# Python program to explain pwd.getpwall() method # importing pwd module import pwd # Get the list # of all available password # database entries using # pwd.getpwall() method entries = pwd.getpwall() # Print the list print("Password database entries:") for row in entries: print(row)
Entradas de la base de datos de contraseñas:
pwd.struct_passwd(pw_name=’root’, pw_passwd=’x’, pw_uid=0, pw_gid=0, pw_gecos=’root’, pw_dir=’/root’, pw_shell=’/bin/bash’)
pwd.struct_passwd(pw_name=’daemon’, pw_passwd=’x’, pw_uid=1, pw_gid=1, pw_gecos=’daemon’, pw_dir=’/usr/sbin’, pw_shell=’/usr/sbin/nologin’)
pwd.struct_passwd(pw_name=’bin’, pw_passwd=’x’, pw_uid=2, pw_gid=2, pw_gecos=’bin’, pw_dir=’/bin’, pw_shell=’/usr/sbin/nologin’)
pwd. struct_passwd(pw_name=’sys’, pw_passwd=’x’, pw_uid=3, pw_gid=3, pw_gecos=’sys’, pw_dir=’/dev’, pw_shell=’/usr/sbin/nologin’)
pwd.struct_passwd( pw_name=’sincronizar’, pw_passwd=’x’, pw_uid=4, pw_gid=65534, pw_gecos=’sincronizar’, pw_dir=’/bin’, pw_shell=’/bin/sync’)
pwd.struct_passwd(pw_name=’juegos’, pw_passwd=’x’, pw_uid=5, pw_gid=60, pw_gecos=’juegos’, pw_dir=’/usr/juegos’, pw_shell=’/usr/sbin/nologin’)
pwd.struct_passwd(pw_name=’hombre’, pw_passwd=’x’, pw_uid=6, pw_gid=12, pw_gecos=’hombre’, pw_dir=’/var/cache/man’, pw_shell=’/usr/sbin/nologin ‘)
pwd.struct_passwd(pw_name=’lp’, pw_passwd=’x’, pw_uid=7, pw_gid=7, pw_gecos=’lp’, pw_dir=’/var/spool/lpd’, pw_shell=’/usr/sbin /nologin’)
pwd.struct_passwd(pw_name=’correo’, pw_passwd=’x’, pw_uid=8, pw_gid=8, pw_gecos=’correo’, pw_dir=’/var/correo’, pw_shell=’/usr/sbin /nologin’)
pwd.struct_passwd(pw_name=’noticias’, pw_passwd=’x’, pw_uid=9, pw_gid=9, pw_gecos=’noticias’, pw_dir=’/var/spool/noticias’, pw_shell=’/usr /sbin/noiniciar sesión)
pwd.struct_passwd(pw_name=’uucp’, pw_passwd=’x’, pw_uid=10, pw_gid=10, pw_gecos=’uucp’, pw_dir=’/var/spool/uucp’, pw_shell=’/usr/sbin/nologin ‘)
pwd.struct_passwd(pw_name=’proxy’, pw_passwd=’x’, pw_uid=13, pw_gid=13, pw_gecos=’proxy’, pw_dir=’/bin’, pw_shell=’/usr/sbin/nologin’)
pwd.struct_passwd(pw_name=’www-datos’, pw_passwd=’x’, pw_uid=33, pw_gid=33, pw_gecos=’www-datos’, pw_dir=’/var/www’, pw_shell=’/usr/sbin /nologin’)
pwd.struct_passwd(pw_name=’backup’, pw_passwd=’x’, pw_uid=34, pw_gid=34, pw_gecos=’backup’, pw_dir=’/var/backups’, pw_shell=’/usr/sbin /nologin’)
pwd.struct_passwd(pw_name=’list’, pw_passwd=’x’, pw_uid=38, pw_gid=38, pw_gecos=’Administrador de listas de correo’, pw_dir=’/var/list’, pw_shell=’/usr /sbin/noiniciar sesión)
pwd.struct_passwd(pw_name=’irc’, pw_passwd=’x’, pw_uid=39, pw_gid=39, pw_gecos=’ircd’, pw_dir=’/var/run/ircd’, pw_shell=’/usr/sbin/nologin ‘)
pwd.struct_passwd(pw_name=’gnats’, pw_passwd=’x’, pw_uid=41, pw_gid=41, pw_gecos=’Sistema de notificación de errores de Gnats (administrador)’, pw_dir=’/var/lib/gnats’, pw_shell=’/usr/sbin/nologin’)
pwd.struct_passwd(pw_name=’nadie’, pw_passwd=’x’, pw_uid=65534, pw_gid=65534, pw_gecos=’nadie’, pw_dir=’/inexistente’, pw_shell= ‘/usr/sbin/nologin’)
pwd.struct_passwd(pw_name=’systemd-timesync’, pw_passwd=’x’, pw_uid=100, pw_gid=102, pw_gecos=’sincronización de tiempo systemd,,, ‘, pw_dir=’/ ejecutar/systemd’, pw_shell=’/bin/false’)
pwd.struct_passwd(pw_name=’systemd-network’, pw_passwd=’x’, pw_uid=101, pw_gid=103, pw_gecos=’administración de red systemd,,, ‘, pw_dir=’/run/systemd/netif’, pw_shell= ‘/bin/false’)
pwd.struct_passwd(pw_name=’systemd-resolve’, pw_passwd=’x’, pw_uid=102, pw_gid=104, pw_gecos=’systemd Resolver,,, ‘, pw_dir=’/run/systemd /resolve’, pw_shell=’/bin/false’)
pwd.struct_passwd(pw_name=’systemd-bus-proxy’, pw_passwd=’x’, pw_uid=103, pw_gid=105, pw_gecos=’systemd Bus Proxy,,, ‘, pw_dir=’/run/systemd’, pw_shell=’/bin/false’)
pwd.struct_passwd(pw_name=’syslog’, pw_passwd=’x’, pw_uid=104, pw_gid=108, pw_gecos=”, pw_dir= ‘/home/syslog’, pw_shell=’/bin/false’)
pwd.struct_passwd(pw_name=’messagebus’, pw_passwd=’x’, pw_uid=105, pw_gid=109, pw_gecos=”, pw_dir=’/var/ ejecutar/dbus’, pw_shell=’/bin/false’)
pwd.struct_passwd(pw_name=’_apt’, pw_passwd=’x’, pw_uid=106, pw_gid=65534, pw_gecos=”, pw_dir=’/inexistente’, pw_shell=’/bin/false’)
pwd.struct_passwd(pw_name= ‘uuidd’, pw_passwd=’x’, pw_uid=107, pw_gid=113, pw_gecos=”, pw_dir=’/run/uuidd’, pw_shell=’/bin/false’)
pwd.struct_passwd(pw_name=’rtkit’, pw_passwd=’x’, pw_uid=108, pw_gid=114, pw_gecos=’RealtimeKit,,, ‘, pw_dir=’/proc’, pw_shell=’/bin/false’)
pwd.struct_passwd(pw_name=’avahi-autoipd’ pwd
. struct_passwd(pw_name=’usbmux’, pw_passwd=’x’, pw_uid=110, pw_gid=46, pw_gecos=’usbmux daemon,,, ‘, pw_dir=’/var/lib/usbmux’, pw_shell=’/bin/false ‘)
pwd.struct_passwd(pw_name=’dnsmasq’, pw_passwd=’x’, pw_uid=111, pw_gid=65534, pw_gecos=’dnsmasq,,, ‘, pw_dir=’/var/lib/misc’, pw_shell=’/bin/ false’)
pwd.struct_passwd(pw_name=’whoopsie’, pw_passwd=’x’, pw_uid=112, pw_gid=119, pw_gecos=”, pw_dir=’/inexistente’, pw_shell=’/bin/false’)
pwd.struct_passwd pwd
. struct_passwd(pw_name=’Dispatcher de voz’, pw_passwd=’x’, pw_uid=114, pw_gid=29, pw_gecos=’Dispatcher de voz,,, ‘, pw_dir=’/var/run/dispatcher de voz’, pw_shell=’ /bin/false’)
pwd.struct_passwd(pw_name=’avahi’, pw_passwd=’x’, pw_uid=115, pw_gid=120, pw_gecos=’Avahi demonio mDNS,,, ‘, pw_dir=’/var/run/avahi -daemon’, pw_shell=’/bin/false’)
pwd.struct_passwd(pw_name=’saned’, pw_passwd=’x’, pw_uid=116, pw_gid=122, pw_gecos=”, pw_dir=’/var/lib/saned’, pw_shell=’/bin/false’)
pwd. struct_passwd(pw_name=’pulse’, pw_passwd=’x’, pw_uid=117, pw_gid=123, pw_gecos=’PulseAudio daemon,,, ‘, pw_dir=’/var/run/pulse’, pw_shell=’/bin/false ‘)
pwd.struct_passwd(pw_name=’colord’, pw_passwd=’x’, pw_uid=118, pw_gid=125, pw_gecos=’colord demonio de gestión de color,,, ‘, pw_dir=’/var/lib/colord’, pw_shell =’/bin/false’)
pwd.struct_passwd(pw_name=’hplip’, pw_passwd=’x’, pw_uid=119, pw_gid=7, pw_gecos=’Usuario del sistema HPLIP,,, ‘, pw_dir=’/var/run /hplip’, pw_shell=’/bin/false’)
pwd.struct_passwd(pw_name=’geoclue’, pw_passwd=’x’, pw_uid=120, pw_gid=126, pw_gecos=”, pw_dir=’/var/lib/geoclue ‘, pw_shell=’/bin/falso’)
pwd.struct_passwd(pw_name=’gdm’, pw_passwd=’x’, pw_uid=121, pw_gid=127, pw_gecos=’Gnome Display Manager’, pw_dir=’/var/lib/gdm3′, pw_shell=’/bin/false ‘)
pwd.struct_passwd(pw_name=’ihritik’, pw_passwd=’x’, pw_uid=1000, pw_gid=1000, pw_gecos=’Hritik,,, ‘, pw_dir=’/home/ihritik’, pw_shell=’/bin/ bash’)
pwd.struct_passwd(pw_name=’sshd’, pw_passwd=’x’, pw_uid=122, pw_gid=65534, pw_gecos=”, pw_dir=’/run/sshd’, pw_shell=’/usr/sbin/nologin’ )
pwd.struct_passwd(pw_name=’maestro’, pw_passwd=’x’, pw_uid=1001, pw_gid=1002, pw_gecos=’,,, ‘, pw_dir=’/home/maestro’, pw_shell=’/bin/bash’ )