# `spwd` — 섀도 암호 데이터베이스

이 모듈은 유닉스 섀도 암호 데이터베이스에 대한 액세스를 제공합니다. 다양한 유닉스 버전에서 사용할 수 있습니다.

섀도 암호 데이터베이스에 액세스할 수 있는 충분한 권한이 있어야 합니다 (일반적으로 루트여야 함을 뜻합니다).

섀도 암호 데이터베이스 항목은 튜플류 객체로 보고됩니다. 어트리뷰트는 `spwd` 구조체의 멤버에 해당합니다 (아래의 어트리뷰트 필드, `<shadow.h>` 참조):

인덱스 | 어트리뷰트 | 의미
--- | --- | ---
0 | `sp_namp` | 로그인 이름
1 | `sp_pwdp` | 암호화된 암호
2 | `sp_lstchg` | 최종 변경 날짜
3 | `sp_min` | 변경 간 최소 일수
4 | `sp_max` | 변경 간 최대 일수
5 | `sp_warn` | 암호 만료 며칠 전에 사용자에게 경고할지, 날짜 수로 표현
6 | `sp_inact` | 암호 만료 후 며칠 후에 계정이 비활성화될지, 날짜 수로 표현
7 | `sp_expire` | 계정 만료일, 1970-01-01 이후 일수로 표현
8 | `sp_flag` | 예약됨

sp_namp 및 sp_pwdp 항목은 문자열이며, 다른 모든 항목은 정수입니다. 요청된 항목을 찾을 수 없으면 `KeyError`가 발생합니다.

다음 함수가 정의됩니다:

`spwd.``getspnam`(name)

  지정된 사용자 이름에 대한 섀도 암호 데이터베이스 항목을 반환합니다.

  버전 3.6에서 변경: 사용자에게 권한이 없으면 `KeyError` 대신 `PermissionError`를 발생시킵니다.

`spwd.``getspall`()

  사용 가능한 모든 섀도 암호 데이터베이스 항목의 리스트를 임의의 순서로 반환합니다.

더 보기

모듈 `grp`

  그룹 데이터베이스에 대한 인터페이스, 이것과 유사합니다.

모듈 `pwd`

  일반적인 암호 데이터베이스와의 인터페이스, 이것과 유사합니다.