"현재 프로세스의 사용자 ID를 반환합니다."os.getuid()가 있습니다. 하지만 주어진 사용자의 ID를 찾는 방법은 무엇입니까?파이썬과 리눅스에서 주어진 사용자의 ID를 얻는 방법
20
A
답변
23
당신은 pwd.getpwnam()
을 사용할 수
In [5]: pwd.getpwnam('aix').pw_uid
Out[5]: 1004
0
당신은 단지 /etc/passwd
을 구문 분석 할 수있는, 거기 저장된.
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
당신이 원하는 것을 가정하여 프로그램의 사용자 ID와 관련된 사용자 이름 문자열, 시도 :
import os
import pwd
pwd.getpwuid(os.getuid()).pw_name
사용 os.geteuid()를 유효 uid를 대신 얻을 수 그 차이가 당신에게 중요한지.
pw_name 대신 pw_gecos를 사용하여 시스템에 "실제 이름"이 표시되면이를 가져옵니다.
관련 문제
- 1. 리눅스에서 주어진 로케일의 언어 이름을 얻는 방법
- 2. php에서 사용자의 facebook 사용자 ID를 얻는 방법
- 3. 사용자의 YouTube 추천 동영상의 ID를 얻는 방법
- 4. 사용자의 프로필 URL로 사용자의 ID를 얻는 방법은 무엇입니까?
- 5. 리눅스에서 파이썬과 함께 USB 드라이브 고유 ID를 얻는 가장 쉬운 방법은 무엇입니까?
- 6. 요청을 보내는 사용자의 ID를 얻는 방법은 무엇입니까?
- 7. 사용자의 TapPoint를 얻는 방법
- 8. 사용자의 위치를 얻는 방법?
- 9. 사용자의 고유성을 얻는 방법
- 10. 리눅스에서 프로세서 번호를 얻는 방법
- 11. 알림 ID를 얻는 방법?
- 12. 마지막 ID를 얻는 방법?
- 13. Google+ ID를 얻는 방법
- 14. iframe의 ID를 얻는 방법
- 15. 임의의 ID를 얻는 방법
- 16. API가 좋아하는 사람이 좋아하는 ID를 반환하는 방법 - 누가 주어진 ID를 좋아하는지 얻는 방법?
- 17. 리눅스에서 부모 프로세스 ID를 찾는 방법
- 18. 주어진 사용자의 리트 윗하기
- 19. 단일 사용자의 트윗을 얻는 방법?
- 20. 이전 사용자의 페이지를 얻는 방법?
- 21. 사용자의 트위터 그림을 얻는 방법?
- 22. 사용자의 위도/경도를 얻는 방법
- 23. 리눅스에서 머신 ID를 얻는 가장 좋은 방법은 무엇입니까?
- 24. 사용자의 리눅스에서 Jenkins 작업 실행
- 25. 리눅스에서 새로운 사용자의 터미널 문제
- 26. 사용자의 그룹 ID를 'auth_user_groups'테이블에 삽입하는 방법
- 27. asp.net : 서버에서 사용자의 사용자 ID를 인식하는 방법
- 28. username없이 사용자의 고유 ID를 만드는 방법 - PHP
- 29. ext 윈도우의 ID를 얻는 방법
- 30. 마지막 삽입물의 ID를 얻는 방법
NIS 또는 LDAP 또는 nsswitch 모듈이있는 다른 모든 소스에 저장 될 수 있습니다. 그것이 우리가'getpw '로 시작하는 API를 가지고있는 이유입니다. 그래서 NIS를 사용하여 사용자 정보를 저장하는 시스템에서 수동으로'/ etc/passwd'를 파싱했기 때문에 버그가 없습니다. – mkj
mkj : 고마워! NIS와 LDAP에 대해 몰랐습니다. – vines