Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Unix/Linux 암호 데이터베이스(pwd) 액세스


Python 표준 라이브러리의 pwd 모듈은 Unix/Linux 운영 체제에서 사용자 계정의 암호 데이터베이스에 대한 액세스를 제공합니다. 이 비밀번호 데이터베이스의 항목은 튜플과 유사한 객체로 처리됩니다. 튜플의 구조는 CPython API의 다음과 같은 passwd 구조 pwd.h 파일에 따릅니다.

색인 속성 의미
0 pw_name 로그인 이름
1 pw_passwd 암호화된 비밀번호 선택
2 pw_uid 숫자 사용자 ID
3 pw_gid 숫자 그룹 ID
4 pw_gecos 사용자 이름 또는 설명 필드
5 pw_dir 사용자 홈 디렉토리
6 pw_shell 사용자 명령 해석기

pwd 모듈은 다음 기능을 정의합니다 -

>>> import pwd>>> dir(pwd)['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'getpwall', 'getpwnam', 'getpwuid', 'struct_passwd ']

getpwnam() − 이 함수는 지정된 사용자 이름에 해당하는 암호 데이터베이스의 레코드를 반환합니다.

>>> pwd.getpwnam('루트')pwd.struct_passwd(pw_name s='루트', pw_passwd ='x', pw_uid =0, pw_gid =0, pw_gecos ='루트', pw_dir ='/루트 ', pw_shell ='/bin/bash')

getpwid() − 이 함수는 주어진 UID에 해당하는 비밀번호 데이터베이스의 레코드를 반환합니다.

>>> pwd.getpwuid(0)pwd.struct_passwd(pw_name ='루트', pw_passwd ='x', pw_uid =0, pw_gid =0, pw_gecos ='루트', pw_dir ='/루트', pw_shell ='/bin/bash')

getpwall() − 이 함수는 튜플 목록을 반환합니다. 각 튜플은 각 사용자의 passwd 구조 정보를 포함합니다. 구조의 uid 및 gid 항목은 정수입니다. 전달된 매개변수에 해당하는 항목을 찾을 수 없으면 KeyError 예외가 발생합니다.

>>> pwd.getpwnam('hello')Traceback(가장 최근 호출 마지막):파일 "", 줄 1, in KeyError:'getpwnam():이름을 찾을 수 없음:hello'