암호 데이터베이스에 액세스하려면 pwd 모듈을 사용해야 합니다. 이 모듈을 사용하여 사용자 계정 및 암호 데이터베이스에 액세스할 수 있습니다. 비밀번호 데이터베이스 항목은 튜플과 같은 개체입니다.
pwd 모듈을 사용하려면 다음을 사용하여 가져와야 합니다.
import pwd
비밀번호 데이터베이스의 속성은 -
색인 | 속성 및 설명 |
---|---|
0 | pw_name 로그인 이름 또는 사용자의 사용자 이름 |
1 | pw_passwd 암호화된 비밀번호 |
2 | pw_uid 사용자의 숫자 ID |
3 | pw_gid 사용자 그룹의 숫자 ID |
4 | pw_gecos 사용자 이름 및 설명 필드 |
5 | pw_dir 사용자의 홈 디렉토리 |
6 | pw_shell 사용자 명령 인터프리터. |
참고 − 일반적으로 pw_passwd는 암호화된 암호를 보유합니다. 그러나 새 시스템에서는 섀도우 암호 시스템을 사용합니다. 이제 pw_passwd에서 '*' 또는 'x' 기호만 찾을 수 있습니다.
이 모듈의 일부 방법은 -
메서드 pwd.getpwuid(uid)
이 메서드는 주어진 숫자 사용자 ID에 대한 암호 데이터베이스 항목을 반환합니다.
메서드 pwd.getpwnam(이름)
이 메서드는 주어진 사용자 이름에 대한 암호 데이터베이스 항목을 반환합니다.
메서드 pwd.getpwall()
이 메서드는 모든 암호 데이터베이스 항목을 반환합니다.
예시 코드
import pwd print("Root: " + str(pwd.getpwnam('root')) + '\n') #Password detail for root for entry in pwd.getpwall(): print("Name: " + entry[0] + "\t\tShell: " + entry.pw_shell)
출력
$ python3 example.py Root: pwd.struct_passwd(pw_name='root', pw_passwd='x', pw_uid=0, pw_gid=0, pw_gecos='root', pw_dir='/root', pw_shell='/bin/bash') Name: root Shell: /bin/bash Name: daemon Shell: /usr/sbin/nologin Name: bin Shell: /usr/sbin/nologin Name: sys Shell: /usr/sbin/nologin Name: sync Shell: /bin/sync Name: games Shell: /usr/sbin/nologin Name: man Shell: /usr/sbin/nologin ……. ……. …….