"現在のプロセスのユーザIDを返します"というos.getuid()があります。しかし、どのように特定のユーザーのIDを見つけることができますか?Pythonとlinuxで与えられたユーザのIDを取得する方法
20
A
答えて
23
あなたはpwd.getpwnam()
を使用することができます。
In [5]: pwd.getpwnam('aix').pw_uid
Out[5]: 1004
0
あなただけ/etc/passwd
を解析でき、それはそこに保存されています。
5
pwd
:あなたが欲しいものを仮定し
import pwd
for p in pwd.getpwall():
print p
pwd.struct_passwd(pw_name='_calendar', pw_passwd='*', pw_uid=93, pw_gid=93, pw_gecos='Calendar', pw_dir='/var/empty', pw_shell='/usr/bin/false')
pwd.struct_passwd(pw_name='_teamsserver', pw_passwd='*', pw_uid=94, pw_gid=94, pw_gecos='TeamsServer', pw_dir='/var/teamsserver', pw_shell='/usr/bin/false')
pwd.struct_passwd(pw_name='_update_sharing', pw_passwd='*', pw_uid=95, pw_gid=-2, pw_gecos='Update Sharing', pw_dir='/var/empty', pw_shell='/usr/bin/false')
pwd.struct_passwd(pw_name='_installer', pw_passwd='*', pw_uid=96, pw_gid=-2, pw_gecos='Installer', pw_dir='/var/empty', pw_shell='/usr/bin/false')
pwd.struct_passwd(pw_name='_atsserver', pw_passwd='*', pw_uid=97, pw_gid=97, pw_gecos='ATS Server', pw_dir='/var/empty', pw_shell='/usr/bin/false')
pwd.struct_passwd(pw_name='_ftp', pw_passwd='*', pw_uid=98, pw_gid=-2, pw_gecos='FTP Daemon', pw_dir='/var/empty', pw_shell='/usr/bin/false')
15
は、あなたのプログラムのためのユーザーIDに関連付けられているユーザ名の文字列で、試してみてください。
import os
import pwd
pwd.getpwuid(os.getuid()).pw_name
使用ではなく、実効uidを取得するには()をos.geteuidその違いがあなたにとって重要であるかどうか。
pw_nameの代わりにpw_gecosを使用して、システムに入力されている場合は「実名」を取得します。
関連する問題
- 1. pythonでfoursquareから与えられたユーザーIDのユーザーチェックインを取得する方法
- 2. 与えられたファイルサイズを取得
- 3. bbpress/wordpressのユーザ名/ユーザIDをクッキーから取得する方法の提案
- 4. Rubyで与えられた日付の与えられた時刻を表すTimeオブジェクトを取得する
- 5. 与えられたノードの属性を取得する方法は?
- 6. groovy与えられた日付から翌月に取得する方法
- 7. Pythonで与えられたファイルの日時を取得して比較する方法
- 8. idが与えられたときにng-repeatを実行する方法
- 9. 次の与えられた親を得る方法
- 10. 与えられたジェネリック型のクラスのコンパニオンオブジェクトを取得する
- 11. 与えられた曜日の次のLocalDateTimeを取得する
- 12. 与えられたHWNDのツールチップテキストを取得するには?
- 13. jQuery DataTables - 与えられた行のページを取得する
- 14. Actionscript - 与えられたクラス名のメソッドリストを取得する
- 15. 与えられたjava TimeZoneの国を取得する
- 16. 与えられたクエリの行数を取得するには?
- 17. 与えられたプロセスハンドルを取得するプロセスを取得する
- 18. Pythonでコマンドライン引数として与えられたファイルを開く方法は?
- 19. Pythonで与えられた数列から得られる定数部分列
- 20. LocalDateが与えられた場合の最終日の取得方法は?
- 21. ユーザIDに関連付けられたドロップダウンリストに値を取得
- 22. CMISを使用して、ユーザ/ユーザIDのドキュメントをクエリ/取得する方法は?
- 23. Magentoは与えられたページのレイアウトを取得します
- 24. django-reversionユーザIDを取得する方法
- 25. 与えられたフォントと矩形の文字列長を取得する
- 26. Delphi、TTreeView:与えられたノードとそのアイコンの画面座標を取得する方法は?
- 27. 与えられたXPATHによって注文されたYQLのJSON結果を取得する方法
- 28. 与えられた人のためのgithub reposのすべてのコミットのリストを取得する方法
- 29. 名前が与えられたインスタンス変数の値を取得
- 30. インデックスを与えられた文字列の中で文字を取得する最速の方法(PHP)
NIS、LDAP、またはnsswitchモジュールがあるその他のソースに格納されている可能性があります。だから私たちは 'getpw'で始まるAPIを持っています - あなたがユーザー情報を保存するためにNISを使っているシステムで手作業で'/etc/passwd'を解析したのでバグはありません。 – mkj
mkj:ありがとう! NISとLDAPについて知らなかった – vines