private.localに存在する&color(orangered){''AD''};で、sybyl.local上の MacOSX のアカウント管理を行いたい。
間には、&color(mediumvioletred){''NATルータ''};が存在している。
素直に MacOSX をprivate.localのADドメインに参加させればいいのだが、それは&color(mediumvioletred){''NAT''};のせいでkerberosの仕様的に無理みたい。
&ref(2016y09m12d_183550161.png,nolink,noborder);
なので&color(mediumvioletred){''NATルータ(pfsense)''};にLDAPの&color(magenta){ポートフォワード};を適用させ、&color(mediumvioletred){''NATルータ''};をLDAPサーバに見立てた(sybyl.local側から見て)。
&color(white,red){注意};
-MacOSXでユーザを参照する際はADのユーザエントリーにOjectClassとして「posixAccount」が必要みたい
samba-toolでアカウントを作ってもこの「posixAccount」は入らないので、別途LDAPAdminらで修正が必要みたい。
関連[[router/NFS]],[[router/pfsense/NAT]],[[router/pfsense/NAT/PortForward]]
本来は無理っぽいのだが。。
[[https://support.apple.com/kb/PH9196?locale=ja_JP&viewlocale=ja_JP>+https://support.apple.com/kb/PH9196?locale=ja_JP&viewlocale=ja_JP]]
改修案[[samba/LDAP/dualNIC]]
***LDAPへ接続設定 [#d8f0aa60]
「システム環境変数」->「ユーザとグループ」から左下の鍵を開錠して、「ログインオプション」を押下する。
そして、「ネットワークアカウントサーバ」の「接続...」ボタンを押下します。
&ref(2016y09m12d_184320915.png,nolink);
次に、OpenDirectoryサーバやActiveDirectoryのドメイン名の入力を求められるが、入力せずに
「ディレクトリユーティリティを開く...」ボタンを押下します。
&ref(2016y09m12d_184552676.png,nolink);
開いた「ディレクトリユーティリティ」画面にて「サービス」タブを選択して、名前「LDAPv3」をダブルクリックします。
&ref(2016y09m12d_184740746.png,nolink);
表示されたサブ項目で、「新規...」ボタンを押下します。
&ref(2016y09m12d_185044209.png,nolink);
「新規LDAP接続」画面にて、サーバ名またはIPアドレスにNATルータの「192.168.0.72」を指定して「手動」ボタンを押下します。
&ref(2016y09m12d_185224598.png,nolink);
サブ項目で設定名を「pfsense」として有効にして、LDAPマッピングにはプルダウンから「RFC2307」を選びます。
&ref(2016y09m12d_224258152.png,nolink);
LDAPマッピングに「RFC2307」を選ぶと「検索ベースのサフィックス」画面が表示される。
ここでは、NATルータ先にあるADドメインを参照したいので、サフィックスは「dc=private,dc=local」として「OK」ボタンを押下します。
&ref(2016y09m12d_185908288.png,nolink);
サブ画面に戻り、pfsenseのエントリーが表示されますが、それを選択して「編集...」ボタンを押下します。
pfsenseへの設定画面が表示され、「セキュリティ」タブを選んで、ディレクトリへのアクセスを有効にして
先ほど仲介役として作成したユーザの識別名とパスワードを入力する。
ユーザ識別名:cn=ldap-connect,cn=Users,dc=private,dc=local
パスワード:ldap
そして「OK」ボタンを押下します。
&ref(2016y09m12d_190644076.png,nolink);
次に、「ディレクトリユーティリティ」画面まで「OK」ボタンを押下して、「検索方式」タブを開きます。
&ref(2016y09m12d_191802704.png,nolink);
まずは、「認証」タブにて、検索をプルダウンから「カスタムパス」に切り替えます。
自動的に「/LDAPv3/192.168.0.72」が表示されるかと思います。そこで「適用」ボタンを押下します。
&color(red){*};&size(10){なければ、「+」ボタンを押下すれば選択肢が表示されるかも。なければどこかで指定ミスかも};
&ref(2016y09m12d_192053983.png,nolink);
引き続き、「コンタクト」タブを選択して、こちらも検索をプルダウンから「カスタムパス」に切り替えます。
こちらも自動的に「/LDAPv3/192.168.0.72」が適用され、ここで「適用」ボタンを押下します。
&color(red){*};&size(10){こちらもなければ、「+」ボタンを押下すれば選択肢が表示される};
&ref(2016y09m12d_192235087.png,nolink);
「ディレクトリユーティリティ」画面を閉じると、「ネットワークアカウントサーバ」の欄が緑色で応答可と表示される。
&ref(2016y09m12d_192359297.png,nolink);
idコマンドでldapから情報も引けた
#code(nonumber){{
lion:~ supervisor$ id illya
uid=1002(illya) gid=2000(fate) groups=2000(fate),12(everyone),62(netaccounts),701(com.apple.sharepoint.group.1)
lion:~ supervisor$
}}
***ホームディレクトリの調整 [#w5e0f6c6]
ホームディレクトリの取り扱い。マッピングの際に一度「RFC2307」を選び、
&ref(2016y09m14d_000037757.png,nolink);
次に「カスタム」に変更します。
&ref(2016y09m14d_000123145.png,nolink);
そして、左側の「レコードのタイプと属性」でUsersを展開します。
&ref(2016y09m14d_000200531.png,nolink);
そこに「NFSHomeDirectory」を選択して、右側に表示された値「homedirectory」を削除後、
&ref(2016y09m14d_000437336.png,nolink);
値を「#/home/$uid$」に変更して、「OK」ボタンを押下します。
&ref(2016y09m13d_235838436.png,nolink);
これでAD(LDAP)ユーザのホームディレクトリが/home/<ユーザ>になります。
#code(nonumber){{
lion:~ saber$ ls -l
total 1
drwx------ 3 saber fate 24 9 13 23:44 Library
-rw-r--r-- 1 saber fate 0 9 12 23:29 sample
lion:~ saber$
}}
とuid/gidとも問題ない。
***MacOSX SASL認証の無効化 [#c4d066a6]
MacOSX 10.7.5(Lion)では問題なかったのだが、10.9(Mavericks)だとログイン認証ができない現象が生じた。
具体的には、ローカルアカウントでログインして、そこで''su''コマンドでユーザ切り替えはできるのだが、
ログイン画面からLDAPアカウントでログインすると、アイコンがくるくる回るだけでそれ以上進まない。
しらべると、SASL認証を無効にすれば回避可能のようで、以下のとおりに実施する。
まず、SASL認証にもメカニズムが複数存在するようで、これはLDAP(ここではsamba AD)に対して
どのようなメカニズムをサポートしているかを確かめる。
#code(nonumber){{
lion:~ supervisor$ ldapsearch -h pfsense.sybyl.local -x -b "" -s base -LLL supportedSASLMechanisms
dn:
supportedSASLMechanisms: GSS-SPNEGO
supportedSASLMechanisms: GSSAPI
supportedSASLMechanisms: NTLM
lion:~ supervisor$
}}
とGSS-SPNEGO、GSSAPI、NTLMの3つが出てきた。これら3つをMacOSX側で無効にする。
#code(nonumber){{
lion:~ supervisor$ sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string GSS-SPNEGO" \
/Library/Preferences/OpenDirectory/Configurations/LDAPv3/192.168.0.72.plist
lion:~ supervisor$ sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string GSSAPI" \
/Library/Preferences/OpenDirectory/Configurations/LDAPv3/192.168.0.72.plist
lion:~ supervisor$ sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string NTLM" \
/Library/Preferences/OpenDirectory/Configurations/LDAPv3/192.168.0.72.plist
lion:~ supervisor$
}}
***NAT越しでの認証...結果 [#he3d2544]
NAT越しLDAP接続では、NFSmountをvers=3で行うのなら行けた。
だが、キーチェーンが見つかりませんとのエラーがでる。
やっぱりNAT越しはやめたほうがいいのかな