大学の研究室なら当然ながらMac[Pro|Mini|Book[Pro|Air]]がある。
これらMacOSXマシンをActiveDirectoryに参加させて、ユーザアカウントの統一管理を行ってみる

手元にあるのはMacOSX 10.7.5(Lion)である。名前とかIPは下記のようにした

コンピュータ名IPアドレスDNS上でのホスト名参照DNSサーバ検索ドメイン
lion192.168.0.64lion.sybyl.local192.168.0.3sybyl.local

*コンピュータ名は、「システム環境設定」->「共有」の「コンピュータ名」で定義
*IPは、「システム環境設定」->「ネットワーク」から手入力で定義
*DNSと検索ドメインは、「システム環境設定」->「ネットワーク」->「詳細...」->「DNS」タブで定義

ドメイン参加

まずはMacOSXマシンをActiveDirectoryに参加させる
「システム環境設定」->「ユーザとグループ」を開く
2015y03m22d_203257957.png
開いた「ユーザとグループ」画面で左下の鍵をクリックして、管理者によるパスワード認証されると
編集可能な状態になる。ここで「ネットワークアカウントサーバ」欄の「接続...」をクリックする
2015y03m22d_204613459.png
すると接続するサーバを問われ、ここのActiveDirectoryのドメイン「sybyl.local」を入力する。
入力と同時に、このドメインコントローラーへの接続認証が求められる。
2016y01m23d_090702093.png
「サーバ」にはドメイン名「sybyl.local」
「AD管理ユーザ」には「administrator」
「AD管理パスワード」には provision時のパスワードを入力する
*クライアントコンピュータIDは、ドメインに参加させたいこのMacである
所定項目の入力が終わったら「OK」ボタンをクリックする

2015y03m22d_205820784.png
参照先として「SYBYL」ドメインが追加された

windowsのリモートサーバ管理ツールの「ActiveDirectoryユーザーとコンピューター」からマシン「lion」の登録が確認できる
2016y01m16d_005709072.png

加え、マシン「lion」のプロパティーを開いて「オペレーティングシステム」タブを開くと
2016y01m16d_005832529.png
となっている。

uidNumber/gidNumber

MacOSXマシンをドメインコントローラーに参加させたが、実際の所、この状態では
uid/gidらは正しく引いてくれていない。

lion:~ supervisor$ id illya
uid=1055295333(illya) gid=1246082528(SYBYL\Domain Users) groups=1246082528(SYBYL\Domain Users),
403(com.apple.sharepoint.group.2),12(everyone),62(netaccounts),1214755721(SYBYL\fate)
 
lion:~ supervisor$

原因はuid/gidのマッピングが正しくないため。

それを調整するには再度「システム環境設定」->「ユーザとグループ」を開き、下記「編集...」ボタンをクリックする
2015y03m24d_005144478.png

表示された画面から「ディレクトリユーティリティーを開く...」ボタンをクリックする。
2015y03m24d_005946839.png

表示された「ディレクトリユーティリティー」画面で、
名前「Active Directory」を選択して「鉛筆アイコン」をクリックする
2015y03m24d_010313621.png

既に参加しているドメイン情報の個所に「詳細オプションの表示」を展開して、
2016y01m16d_014612283.png

「ユーザ環境」タブは既定の「ローカル・ホームディレクトリを起動ディスクに設定」「ActiveDirectoryからUNCパスを使用してネットワークホームを設定」(使用するプロトコル:smb)「デフォルトのユーザシェル(/bin/bash)」を有効にする
2016y01m16d_014801828.png

そして、「マッピング」タブでは
UIDは「uidNumber」、ユーザGIDを「gidNumber」、グループGIDを「gidNumber」にマッピングし直す。
2016y01m16d_015001540.png

3番目の「管理」タブは規定の「フォレスト内の任意のドメインから認証」を有効にする
2016y01m16d_015119061.png

ここで「OK」ボタンを押して完了となる。
先ほどのuidとgidは、

lion:~ supervisor$ id illya
uid=1002(illya) gid=2000(SYBYL\fate) groups=2000(SYBYL\fate),403(com.apple.sharepoint.group.2),12(everyone),62(netaccounts)
 
lion:~ supervisor$

ドメインコントローラーで定義したuid/gidが引き継げられた。

ログインとホームディレクトリ

実際にログインを試みてみる。
ログイン画面が変更され
2015y03m24d_013012589.png
とされ、「その他のユーザ...」を選びドメインコントローラーに存在するユーザでログイン操作してみる。
2015y03m24d_013031164.png
ログイン後、ターミナルを立ち上げて、調べると

Last login: Sat Jan 16 02:30:40 on console
lion:~ illya$ pwd
/Users/illya
lion:~ illya$
lion:~ illya$ df -h
Filesystem       Size   Used  Avail Capacity  Mounted on
/dev/disk0s2     39Gi   10Gi   29Gi    26%    /
devfs           183Ki  183Ki    0Bi   100%    /dev
map -hosts        0Bi    0Bi    0Bi   100%    /net
map auto_home     0Bi    0Bi    0Bi   100%    /home
map -fstab        0Bi    0Bi    0Bi   100%    /Network/Servers
//illya@c/home   53Gi   19Gi   34Gi    37%    /Volumes/home
lion:~ illya$
lion:~ illya$ mount
/dev/disk0s2 on / (hfs, local, journaled)
devfs on /dev (devfs, local, nobrowse)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)
map -fstab on /Network/Servers (autofs, automounted, nobrowse)
//illya@c/home on /Volumes/home (smbfs, nodev, nosuid, mounted by illya)
lion:~ illya$

とホームフォルダは一応mountされているが(/Volumes/home)、そこがホームディレクトリではなく、/Users/<ユーザ名>となっている。
ホームフォルダとは、sambaで規定した場所で「ActiveDirectoryユーザとコンピュータ」で定義される。
2016y01m16d_110223525.png
*sambaの[homes]機能を使ってないので \\c\home\<ユーザ名> となってます

/Users/<ユーザ名>をホームディレクトリにせず、Linuxと同様に共有された/home/<ユーザ名>をホームディレクトリにするにはsambaで定義したホームフォルダを継承させるようにする。MacOSX側の設定の際に「ローカル・ホームディレクトリを起動ディスクに設定」を無効にするとそれができる。
2016y01m16d_111113349.png
そうすると、

Last login: Sat Jan 16 02:49:27 on console
lion:~ illya$ pwd
/home/illya
lion:~ illya$ df
Filesystem           512-blocks     Used Available Capacity  Mounted on
/dev/disk0s2           82206864 21789376  59905488    27%    /
devfs                       363      363         0   100%    /dev
map -hosts                    0        0         0   100%    /net
map auto_home                 0        0         0   100%    /home
map -fstab                    0        0         0   100%    /Network/Servers
//illya@c/home/illya  110645248 40103200  70542048    37%    /home/illya
lion:~ illya$
lion:~ illya$ mount
/dev/disk0s2 on / (hfs, local, journaled)
devfs on /dev (devfs, local, nobrowse)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)
map -fstab on /Network/Servers (autofs, automounted, nobrowse)
//illya@c/home/illya on /home/illya (smbfs, nodev, nosuid, automounted, nobrowse, mounted by illya)
lion:~ illya$

となる。
これでアカウントもホームディレクトリ(/home/<ユーザ名>)もMacOSX側と共有できるようである。

ただし、shellが事前指定なので要注意。

MacOSXからAcitiveDirectoryのユーザ情報を入手

Linuxなら単にgetent passwdですむのだが、MacOSXでは違って、
ローカルマシンのアカウント情報は

lion:~ supervisor$ dscl . -ls /Users

で行う。AcitiveDirectoryからのユーザは

lion:~ supervisor$ dscl "/Active Directory/SYBYL/All Domains" -ls /Users
administrator
guest
illya
krbtgt
lion:~ supervisor$

で得られる。そしてユーザの詳細は

lion:~ supervisor$ dscl "/Active Directory/SYBYL/All Domains" -read /Users/illya
 :
dsAttrTypeNative:cn: illya
 :
AltSecurityIdentities: Kerberos:illya@sybyl.local
AppleMetaNodeLocation:
 /Active Directory/SYBYL/sybyl.local
AppleMetaRecordName: CN=illya,CN=Users,DC=sybyl,DC=local
AuthenticationAuthority: ;Kerberosv5;;illya@SYBYL.LOCAL;SYBYL.LOCAL; ;NetLogon;illya;SYBYL
Comment: 天の杯・ホムンクルス
EMailAddress: xxxxx@xxx.xxxx.xx
FirstName: Illyasviel
 :
NFSHomeDirectory: /Users/illya
OriginalHomeDirectory: <home_dir><url>smb://c/home/illya</url><path>/</path></home_dir>
 :
SMBHome: \\c\home\illya
SMBHomeDrive: z
 :
lion:~ supervisor$

と得られる。


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2016-10-01 (土) 09:40:58 (442d)