GNU/Linux >> Linux の 問題 >  >> Linux

Python:1 つのユーザー名のグループ ID を取得する方法 ( id -Gn など)

以下は、ローカル ユーザーのみに関心があると仮定して動作します。 sssd などの場合は動作しません。 カタログ サーバー (例:ldap ).

#!/usr/bin/env python

import grp, pwd 

user = "myname"
groups = [g.gr_name for g in grp.getgrall() if user in g.gr_mem]
gid = pwd.getpwnam(user).pw_gid
groups.append(grp.getgrgid(gid).gr_name)
print groups

現在のユーザーのグループが必要な場合。

import os, grp
[grp.getgrgid(g).gr_name for g in os.getgroups()]

os.getgroups() 現在のユーザーの gid のリストを返します。

grp.getgrgid(g) グループに関する詳細を返します


Linux
  1. Python で Linux コンソール ウィンドウの幅を取得する方法

  2. sed のようなテキストを python に置き換えるにはどうすればよいですか?

  3. Pythonでフォーマットされた日時を取得する方法

  1. Pythonで(MB)ファイルのtar.gzのサイズを取得する方法

  2. Linux の C/C++ でユーザー名を取得するには?

  3. Linux で /dev/one に相当するものを取得するにはどうすればよいですか

  1. シェルで PYTHONPATH を取得するには?

  2. grepさ​​れた行の後にn行目を取得する方法は?

  3. 実行中のすべてのプロセス ID のみを取得するには?