"現在のプロセスのユーザ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. データベースから特定のユーザIDに与えられたユーザ名とポーク数を取得する方法
- 2. pythonでfoursquareから与えられたユーザーIDのユーザーチェックインを取得する方法
- 3. Bash Script - UIDを与えられたユーザ名を取得
- 4. 与えられたIDでdivに移動する方法cakephp3
- 5. Pythonで辞書から与えられた値を持つすべてのキーを取得する方法
- 6. 与えられたファイルサイズを取得
- 7. python-与えられたノードの親を印刷する方法
- 8. 与えられたコミットの親コミットIDを取得するには?
- 9. 与えられた行番号でXMLノードを取得する方法
- 10. bbpress/wordpressのユーザ名/ユーザIDをクッキーから取得する方法の提案
- 11. djangoのIDの与えられたリストのレコードを別々に取得する方法
- 12. C#与えられたデータベースのXEventセッションのリストを取得する方法
- 13. Rubyで与えられた日付の与えられた時刻を表すTimeオブジェクトを取得する
- 14. 与えられたノードの属性を取得する方法は?
- 15. sql serverどの子供が与えられたフルツリーを取得する方法?
- 16. neo4jは与えられたidのノードの親を取得します
- 17. groovy与えられた日付から翌月に取得する方法
- 18. idが与えられたときにng-repeatを実行する方法
- 19. 与えられたものからハッシュセットを取得する -
- 20. jqueryで移動したIDと置き換えられたIDを取得する方法
- 21. Pythonで与えられたファイルの日時を取得して比較する方法
- 22. MeteorJS:与えられたID配列によってサーバメソッドを介してタイトルデータを取得する方法
- 23. 次の与えられた親を得る方法
- 24. Firebaseユーザの電子メールアドレスをIDで取得する方法
- 25. 与えられた値のpyodbc行を取り出す方法
- 26. 与えられた曜日の次のLocalDateTimeを取得する
- 27. 与えられたジェネリック型のクラスのコンパニオンオブジェクトを取得する
- 28. Postgresqlの:与えられたデータで取得取引が
- 29. jQuery DataTables - 与えられた行のページを取得する
- 30. 与えられたjava TimeZoneの国を取得する
NIS、LDAP、またはnsswitchモジュールがあるその他のソースに格納されている可能性があります。だから私たちは 'getpw'で始まるAPIを持っています - あなたがユーザー情報を保存するためにNISを使っているシステムで手作業で'/etc/passwd'を解析したのでバグはありません。 – mkj
mkj:ありがとう! NISとLDAPについて知らなかった – vines