Python
 Computer >> コンピューター >  >> プログラミング >> Python

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: []
………..
………..
………..

  1. iPhoneでSQLiteデータベースインスタンスにアクセスするにはどうすればよいですか

    データの保存は、アプリケーションを設計する際に最も重要なことの1つです。データを保存する方法はたくさんあります。そのような方法の1つがSQLiteデータベースです。 iPhoneでSQLiteデータベースにアクセスする方法は複数ありますが、Swiftで最も簡単な方法を紹介します。 SQLiteは、アプリケーションに組み込まれたCプログラミングライブラリに含まれるリレーショナルデータベース管理システムです。 このチュートリアルでは、名前を入力するためのテキストフィールドを持つ1つのサンプルアプリケーションを作成します。名前をSQLiteデータベースに保存し、ユーザーが[表示]ボタンをタップ

  2. Pythonデバッガー(pdb)

    ソフトウェア開発の専門用語では、「デバッグ」という用語は、プログラム内のエラーを見つけて修正するプロセスに広く使用されています。 Pythonの標準ライブラリには、Pythonプログラムをデバッグするためのユーティリティのセットであるpdbモジュールが含まれています。 デバッグ機能はPdbクラスで定義されています。このモジュールは、内部でbdbモジュールとcmdモジュールを使用します。 pdbモジュールには、非常に便利なコマンドラインインターフェイスがあります。これは、Pythonスクリプトの実行時に–m switchを使用してインポートされます。 python –m pdb