dポイントプレゼントキャンペーン実施中!

LAN上のネットワークで、ユーザを
一意に決定できる識別文字列の生成を考えています。

IPアドレスを使えば、一意にユーザを決定できますが
IPアドレスが動的に変わる場合にも対応したいので
他の方法を考えています。

いまイメージとして、浮かんでいるのは
こんな感じのパス文字列です。

[ドメイン名/ワークグループ名]\[マシン名]\[ユーザ名]

こういうことを表現する、ネットワーク一般の
文字表現(公的フォーマット)ってあるのでしょうか?

また、そういうも公的フォーマットがあるとしたら、
コンピュータがワークグループに所属しているのか
それともドメインに所属しているのか
識別することは可能でしょうか?

いろいろWebを検索してみたのですが
これといったものが見つからなくて
煮詰まっています。

A 回答 (4件)

>AさんBさんとも「duck\foo」という識別になりますが



表示可能文字ではどちらも同じに見えますが,NetBIOSドメイン名とNetBIOSコンピュータ名は(ついでに言うなら NetBIOSワークグループ名 duck も)16文字目の非表示Byteによって区別されています。
http://www.atmarkit.co.jp/fwin2k/network/baswinl …


>ネットワーク上に同じユーザ名「foo」のA,Bがいたとして

このような運用は一般的ではないです。例として次のような状況において,

・コンピュータ kcud はドメイン duck に参加状態のPC
・コンピュータ duck はドメイン非参加状態のPC(ワークグループ状態)

ドメインユーザ foo が コンピュータ duck を使いたいとする。そのためにはコンピュータ duck にログオンせねばならず,コンピュータ duck はドメイン非参加状態ですから,そのためにはコンピュータ duck のローカルユーザアカウントを使わねばなりません。
そこで一般的にどうするかというと,ドメインユーザ foo と同じユーザ名・同じパスワードのローカルユーザアカウント foo をコンピュータ duck にも作成して使用するわけです。

ドメインユーザアカウントの「ドメイン名\foo」とローカルユーザアカウントの「コンピュータ名\foo」は確かに別のユーザアカウントであり,Windowsネットワークにおいても両者を識別できますが,
ユーザ名が同じであるなら「一人のユーザが,状況に応じた複数の同名ユーザアカウントを持っている」という一般的な了解があると思います。同じユーザ名 foo をA,Bという別々の2人が使用するというのは基本から外れた変則的なユーザ管理の方法を採用しているということになります。
    • good
    • 0
この回答へのお礼

jjon-comさん
分かりやすい例を紹介していただきまして
ありがとうございます。
Windowsのネットワークについて理解が深まりました。
NetBIOS名を使用して開発を進めようと思います。
どうもありがとうございました。

お礼日時:2008/06/04 10:53

UNIXやMacは含めず,Windowsについて言っているのなら次のページを参照。


http://www.atmarkit.co.jp/fwin2k/win2ktips/757up …

1番目として,15文字までのNetBIOS名を用いたもの。
ドメインユーザなら「NetBIOSドメイン名\ユーザ名」,ローカルユーザなら「NetBIOSコンピュータ名\ユーザ名」という形式。

2番目は,ActiveDirectoryドメインユーザに対して使用できる UPN(ユーザ・プリンシパル名)。
メールアドレスに似せた「ユーザ名@FQDNドメイン名」という形式。

3番目に「FQDNドメイン名\ユーザ名」というのもありますが,こんな折衷形式を使うよりは1番目か2番目でよいと思います。


>コンピュータがワークグループに所属しているのか
>それともドメインに所属しているのか
>識別することは可能でしょうか?

ActiveDirectoryを参照することで可能ですけれど,それはユーザを一意に決定することとは直接関係ないですよね。
ドメインに参加しているコンピュータを使って,ドメインユーザアカウントでログオンすることもローカルユーザアカウントでログオンすることもできますから。


>[ドメイン名/ワークグループ名]\[マシン名]\[ユーザ名]

Windowsユーザの一意の識別に,ワークグループ名を使おうとしたり,ドメイン名とマシン名の組合せを使おうとしたりしていらっしゃるのなら,それはWindowsネットワークのユーザ管理の基本概念をご存じないのだと思います。

この回答への補足

参考サイトを教えていただきまして
有り難うございます。

jjon-comさんのご指摘の通り、
私自身、Windowsネットワークのユーザ管理の
概念につきましては、お恥ずかしながら
まだまだ勉強不足といったところです(^_^;)

教えて頂きました1番目の方法のNetBios名を
使う方法ですが、
以下の私の理解は正しいでしょうか?

<私の理解>
ネットワーク上に同じユーザ名「foo」のA,Bがいたとして、
Aさんはドメインユーザで「duck」というドメインに所属、
Bさんはローカルユーザで「duck」というコンピュータ名。
この場合、AさんBさんとも「duck\foo」という識別に
なりますが、AさんBさんがネットワーク上で共存することは
無い。

------
この理解が正しければ、Netbios名を使おうと
思います。
よろしくお願いします。

補足日時:2008/05/30 01:55
    • good
    • 0

> こういうことを表現する、ネットワーク一般の


> 文字表現(公的フォーマット)ってあるのでしょうか?

あるようなないような…
X.500あたりにこのあたりを定義した情報があると思いますが、私はよく知りません(^^;。ただ、「全世界共通」という様なフォーマットがあるという話は寡聞にして聞いたことがありません。
よく見かけるのはメールアドレス形式のフォーマットですね(user@domain 形式)。

X.500はとっつきにくいと思いますので、LDAPを調べればこのあたりの情報はいろいろと入手できると思いますので参考にしてみてください。

ちなみに、Windowsでは上記のメールアドレス形式のほかに、
[ドメイン名/コンピュータ名]\[ユーザ名]
というフォーマットも使われています。

> また、そういうも公的フォーマットがあるとしたら、
> コンピュータがワークグループに所属しているのか
> それともドメインに所属しているのか
> 識別することは可能でしょうか?

Windowsによるネットワークが前提になっているようですが、実のところ「ワークグループに所属」はできません。「ワークグループ」は個々のPCがそれぞれワークグループ名を広告しているだけなので、アカウント自体は各PCに登録されています。

ドメインに参加しているPCもPC内でアカウントを(別に)作成することはできますので、Windowsのアカウント表記方法ではそのアカウント名からドメイン所属か否かを一意に判断することはできないです。(判断するためには周辺の環境情報が必要)
    • good
    • 0
この回答へのお礼

Toshi0230さん
ご回答を頂きましてありがとうございます。
「X.500」というユーザを一意に識別するフォーマットが
あるのですね。ちょっと敷居が高そうですね(笑)

「ワークグループ」は所属するというものでは
ないんですね(^^;)
勉強になりました。
ありがとうございます。

お礼日時:2008/06/04 10:59

>ネットワーク一般の文字表現(公的フォーマット)ってあるのでしょうか?



MAC, IP, DNS, LDAP, URI

>コンピュータがワークグループに所属しているのか
>それともドメインに所属しているのか識別することは可能でしょうか?

WindowsであればActive Directoryを使用するのが一般的です。

>[ドメイン名/ワークグループ名]\[マシン名]\[ユーザ名]

これは・・・ある意味できますが、最終的に何がやりたいのでしょうか?
ユーザーがログオンできるコンピュータ アカウントを限定することができますが・・・

この回答への補足

回答を頂きましてありがとうございます。

最終的にやりたいことは、ネットワーク上のすべての
ユーザアカウントを文字列ベース(認識しやすい文字列)で
管理するデータベースを作成することです。

そのデータベースで、扱う文字列が
[ドメイン名/ワークグループ名]\[マシン名]\[ユーザ名]
のようなフォーマットだとすると、
[ドメイン名/ワークグループ名]の部分が
どちらを表現しているのかが識別できる
フォーマットになっていれば、いまのところOKと
いった感じです。

自前の文字フォーマットを用意してもいいのですが
できれば公的フォーマットで管理したいと
考えております。

補足日時:2008/05/29 22:55
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!