2024-03-28 13:31:55 发布
网友
有一个os.getuid(),它“返回进程的用户id.”。但我如何才能找到任何给定的用户id?
您可以使用^{}:
In [5]: pwd.getpwnam('aix').pw_uid Out[5]: 1004
^{}:
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')
假设您想要的是与程序的用户标识关联的用户名字符串,请尝试:
import os import pwd pwd.getpwuid( os.getuid() ).pw_name
使用os.geteuid()来获取有效的uid,如果这种差异对您很重要的话。
如果您的系统中填充了“实名”,请使用pw_gecos而不是pw_name来获取“实名”。
您可以使用^{} :
^{} :
假设您想要的是与程序的用户标识关联的用户名字符串,请尝试:
使用os.geteuid()来获取有效的uid,如果这种差异对您很重要的话。
如果您的系统中填充了“实名”,请使用pw_gecos而不是pw_name来获取“实名”。
相关问题 更多 >
编程相关推荐