pwd — 비밀번호 데이터베이스

pwd — 비밀번호 데이터베이스

pwd 모듈은 Unix 사용자 계정 및 비밀번호 데이터베이스에 대한 접근을 제공해요. 모든 Unix 버전에서 사용할 수 있어요. 가용성: Unix, WASI 아님, iOS 아님.

출처: Python documentation

본문

비밀번호 데이터베이스 항목은 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 사용자 명령 인터프리터

uid 와 gid 항목은 정수이고 나머지는 모두 문자열이에요. 요청한 항목을 찾을 수 없으면 KeyError 가 발생해요.

참고: 전통적인 Unix 에서 pw_passwd 필드는 보통 DES 파생 알고리즘으로 암호화된 비밀번호를 담아요. 그러나 대부분의 현대 Unix 는 소위 섀도 비밀번호(shadow password) 시스템을 사용해요. 그런 Unix 에서 pw_passwd 필드는 암호화된 비밀번호가 세계에서 읽을 수 없는 /etc/shadow 파일에 저장되는 곳에 별표('*')나 문자 'x' 만 담아요. pw_passwd 필드가 유용한 내용을 담는지는 시스템에 따라 달라요.

모듈은 다음 항목들을 정의해요.

  • pwd.getpwuid(uid) — 주어진 숫자 사용자 ID 에 대한 비밀번호 데이터베이스 항목을 반환해요.
  • pwd.getpwnam(name) — 주어진 사용자 이름에 대한 비밀번호 데이터베이스 항목을 반환해요.
  • pwd.getpwall() — 모든 사용 가능한 비밀번호 데이터베이스 항목의 목록을 임의의 순서로 반환해요.

비슷한 그룹 데이터베이스 인터페이스는 grp 모듈을 참고하세요.

더 알아보기 (Learn more)