Pythonでのシャドウパスワードデータベースへのアクセス
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_expire 1997年1月1日からアカウントが無効になるまでの日数 |
8 | sp_flag 予約済み |
このモジュールのいくつかのメソッドは次のとおりです-
メソッドspwd.getspnam(name)
このメソッドは、指定されたユーザー名のシャドウパスワードデータベースエントリを返します。
メソッド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: !
-
アクセスデータベースにパスワードを設定する方法
データベースの不正使用を防ぐためにデータベースにパスワードを設定する場合は、 Microsoft Access 必要に応じて、ユーザーがデータベースにパスワードを設定できるようになります。ユーザーが自分のパスワードを知っている場合は、いつでも自分のパスワードを復号化できますが、ユーザーが自分のパスワードを忘れると、データベースを使用できなくなります。 Accessデータベースにパスワードを設定する方法 これを行う方法を見てみましょう。 Accessデータベースを使用して暗号化してパスワードで保護する方法 ファイルをクリックします タブ。 次に、[開く]をクリックします 舞台裏の眺めで。
-
Pythonデバッガー(pdb)
ソフトウェア開発の専門用語では、「デバッグ」という用語は、プログラム内のエラーを見つけて修正するプロセスに広く使用されています。 Pythonの標準ライブラリには、Pythonプログラムをデバッグするためのユーティリティのセットであるpdbモジュールが含まれています。 デバッグ機能はPdbクラスで定義されています。このモジュールは、内部でbdbモジュールとcmdモジュールを使用します。 pdbモジュールには、非常に便利なコマンドラインインターフェイスがあります。これは、Pythonスクリプトの実行時に–m switchを使用してインポートされます。 python –m pdb