Pythonでのグループデータベースへのアクセス
UNIXグループデータベースにアクセスするには、grpモジュールを使用する必要があります。シャドウパスワードデータベースエントリは、オブジェクトのようなタプルのようなものです。
grpモジュールを使用するには、-
を使用してインポートする必要がありますimport grp
grpデータベースの属性は-
です。インデックス | |
---|---|
0 | gr_name グループの名前 |
1 | gr_passwd グループの暗号化されたパスワード。 (通常は空) |
2 | gr_gid グループID(数値) |
3 | gr_mem グループユーザーのリスト |
グループオブジェクトでは、gidは整数です。グループ名とパスワードは文字列です。メンバーリストは文字列のリストです。
このモジュールのいくつかのメソッドは次のとおりです-
メソッドgrp.getgrgid(gid)
このメソッドは、指定されたグループIDからグループデータベースエントリを返します。 gidに対応するグループがない場合、KeyErrorが発生します。
メソッドgrp.getgrnam(name)
このメソッドは、指定されたグループ名からグループデータベースエントリを返します。 gidに対応するグループがない場合、KeyErrorが発生します。
メソッドgrp.getgrall()
このメソッドは、すべてのグループデータベースエントリを返します。
サンプルコード
import grp print("ID: 4: " + str(grp.getgrgid(4)) + '\n') #Password detail using Group ID print("cdrom group: " + str(grp.getgrnam('cdrom')) + '\n') #Password detail using Group name for entry in grp.getgrall(): print("Group Name: " + entry[0] + "\t\tMembers: " + str(entry.gr_mem))
出力
$ sudo python3 example.py ID: 4: grp.struct_group(gr_name='adm', gr_passwd='x', gr_gid=4, gr_mem=['syslog', 'unix_user']) cdrom group: grp.struct_group(gr_name='cdrom', gr_passwd='x', gr_gid=24, gr_mem=['unix_user']) Group Name: root Members: [] Group Name: daemon Members: [] Group Name: bin Members: [] Group Name: sys Members: [] Group Name: adm Members: ['syslog', 'unix_user'] Group Name: tty Members: [] Group Name: disk Members: [] Group Name: lp Members: [] Group Name: mail Members: [] Group Name: news Members: [] Group Name: uucp Members: [] Group Name: man Members: [] Group Name: proxy Members: [] Group Name: kmem Members: [] Group Name: dialout Members: [] Group Name: fax Members: [] Group Name: voice Members: [] Group Name: cdrom Members: ['unix_user'] Group Name: floppy Members: [] Group Name: tape Members: [] Group Name: sudo Members: ['unix_user'] Group Name: audio Members: ['pulse'] Group Name: dip Members: ['unix_user'] Group Name: www-data Members: [] Group Name: backup Members: [] ……….. ……….. ………..
-
iPhoneでSQLiteデータベースインスタンスにアクセスするにはどうすればよいですか
データの保存は、アプリケーションを設計する際に最も重要なことの1つです。データを保存する方法はたくさんあります。そのような方法の1つがSQLiteデータベースです。 iPhoneでSQLiteデータベースにアクセスする方法は複数ありますが、Swiftで最も簡単な方法を紹介します。 SQLiteは、アプリケーションに組み込まれたCプログラミングライブラリに含まれるリレーショナルデータベース管理システムです。 このチュートリアルでは、名前を入力するためのテキストフィールドを持つ1つのサンプルアプリケーションを作成します。名前をSQLiteデータベースに保存し、ユーザーが[表示]ボタンをタップ
-
Pythonデバッガー(pdb)
ソフトウェア開発の専門用語では、「デバッグ」という用語は、プログラム内のエラーを見つけて修正するプロセスに広く使用されています。 Pythonの標準ライブラリには、Pythonプログラムをデバッグするためのユーティリティのセットであるpdbモジュールが含まれています。 デバッグ機能はPdbクラスで定義されています。このモジュールは、内部でbdbモジュールとcmdモジュールを使用します。 pdbモジュールには、非常に便利なコマンドラインインターフェイスがあります。これは、Pythonスクリプトの実行時に–m switchを使用してインポートされます。 python –m pdb