UNIX 섀도우 암호 데이터베이스에 액세스하려면 spwd 모듈을 사용해야 합니다. 이 파일에 액세스하려면 충분한 권한이 필요합니다. 섀도우 비밀번호 데이터베이스 항목은 튜플과 같은 개체입니다.
spwd 모듈을 사용하려면 −
를 사용하여 가져와야 합니다.import spwd
섀도우 비밀번호 데이터베이스의 속성은 다음과 같습니다. -
색인 | 속성 및 설명 |
---|---|
0 | sp_nam 사용자의 로그인 이름 또는 사용자 이름 |
1 | sp_pwd 암호화된 비밀번호 |
2 | sp_lstchg 마지막 변경 날짜 |
3 | sp_min 비밀번호 변경 사이의 최소 일수 |
4 | sp_max 비밀번호 변경 사이의 최대 일수 |
5 | sp_warn 비밀번호 변경 일수에 대해 경고 |
6 | sp_inact 비밀번호가 만료된 후 계정이 차단될 때까지의 일 수 |
7 | p_만료 1997-01-01부터 계정이 비활성화될 때까지의 일 수 |
8 | sp_flag 예약됨 |
이 모듈의 일부 방법은 -
방법 spwd.getspnam(이름)
이 메소드는 주어진 사용자 이름에 대한 섀도우 비밀번호 데이터베이스 항목을 반환합니다.
방법 spwd.getspall()
이 메서드는 사용 가능한 모든 섀도 암호 데이터베이스 항목을 반환합니다.
예시 코드
import spwd print("Root: " + str(spwd.getspnam('root')) + '\n') #Password detail for root for entry in spwd.getspall(): print("Name: " + entry[0] + "\t\tPassword: " + entry.sp_pwdp)
출력
(원하는 출력을 얻으려면 sudo 모드에서 스크립트를 실행해야 함)
$ sudo python3 example.py Root: spwd.struct_spwd(sp_namp='root', sp_pwdp='!', sp_lstchg=17778, sp_min=0, sp_max=99999, sp_warn=7, sp_inact=-1, sp_expire=-1, sp_flag=-1) …….. …….. …….. Name: geoclue Password: * Name: gnome-initial-setup Password: * Name: gdm Password: * Name: unix_user Password: $6$47n9s0Ep$znWkgNtywebHGKq2o6kZKhGOM8ryp8z4/6P6PUE1m.NQ5Erg9aWncNUAGbuNLFNWUO9M9xzKLxRpFGB5md/nu1 Name: mongodb Password: !