こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

-広告-

解決済みの質問

CentOS7でAD上のフルネームを取得する方法を

【質問】
CentOS7のコマンドでAD上のフルネームを取得する方法を教えてください。

下記の例でいうと、
コマンドで「ADテストユーザー」の文字列を抽出することがゴールです。


【前提】
Windows server上にADDCを立てています。
domein1に
ユーザー名:adtest
フルネーム:ADテストユーザー
を登録しました。

CentOS7をそのWindows server上のdomein1に参加させました。

CentOS7上で、初回ログイン時にそのユーザーの環境を自動設定するようにしました。

CentOS7からWindows server上のdomein1のユーザーであるadtestでログインしました。

GUI操作で設定→ユーザーを開くと、ドメインに登録していたフルネームも見えています。
(添付画像)



【捕捉1】
ユーザー名は $USER または whoami で取得できます。

$ whoami
adtest

$ echo $USER
adtest

また
wbinfo -u
により、ドメインユーザーを一覧で根刮ぎ取ることはできます。
しかし、フルネームの取り出し方はわかりません。


【捕捉2】
CentOS7内で登録したローカルユーザーは「/etc/passwd」に入っていますが、ドメインユーザーの情報はそこにはありません。

投稿日時 - 2016-01-08 13:46:59

QNo.9108056

すぐに回答ほしいです

質問者が選んだベストアンサー

前の質問を http://okwave.jp/qa/q9107539.html を閉じられているので、こちらの質問に補足しておきます。

>ひとまずは、ローカルユーザーの取得の方法を教えてくださった方をベストアンサーとして閉じます。

勘違いされているようですが getent passwd はローカルユーザーだけの取得をしているわけではありません。
Name Service Switchという仕組みを使用してADDC等にアクセスする設定ができるようになっています。
nss, nsswitch, nsswitch.conf を調べてみてください。

投稿日時 - 2016-01-08 21:25:39

お礼

>勘違いされているようですが getent passwd はローカルユーザーだけの取得をしているわけではありません。

はい
grep $USER /etc/passwd
という回答もあり混乱しましたが、前回の最後でそれを気付きました。

この質問を立てた後、前回頂いていた内容を組み合わせるとフルネームの取得に成功しました。

sh-4.2$ getent passwd $USER | awk -F":" '{ print $5 }'
ADテスト ユーザー


nss, nsswitch, nsswitch.conf に関しては調べてみます。

投稿日時 - 2016-01-12 10:21:40

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(2)

ANo.1

ADDCに参加しているCentOS7でのユーザー管理は、すべてsamba-toolで行うらしいので、/usr/local/samba/bin/にツールが入っているみたいです。

/usr/local/samba/bin/pdbedit -v adtest

と実行すると

Unix username: adtest
NT username:
Account Flags: [U ]
User SID: X-n-n-nn-nnnnnnnnnn-nnnnnnnnn-nnnnnnnnn-nnnn
Primary Group SID: X-n-n-nn-nnnnnnnnnn-nnnnnnnnn-nnnnnnnnn-nnnn
Full Name: ADテスト ユーザー
Home Directory:
HomeDir Drive: (null)
Logon Script:
Profile Path:
Domain:
Account desc:
Workstations:
Munged dial:
Logon time: 0
Logoff time: 0
Kickoff time: 金, 8 1月 2016 12:34:00 JST
Password last set: 金, 8 1月 2016 12:34:00 JST
Password can change: 土, 16 1月 2016 01:23:45 JST
Password must change: never
Last bad password: 0
Bad password count: 0
Logon hours: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

っていう表示がでるらしいです(実行環境が無いので当方は試せません)

この表示から「Full Name:」で始まる行をawkか何かで抽出すると良いでしょう。

投稿日時 - 2016-01-08 14:38:58

お礼

>ADDCに参加しているCentOS7でのユーザー管理は、すべてsamba-toolで行うらしいので、/usr/local/samba/bin/にツールが入っているみたいです。

そうなのですか。
/usr/local/下にsamba/bin/はありません。
別途、samba-toolをインストールすればできるのでしょうか?

投稿日時 - 2016-01-12 10:34:50

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-