みかんせい
過去記事: samba4/ホームディレクトリ/NFS設定/autofs

ストレージサーバが1台なら単純にstaticでNFS共有すればいい
だが、複数台になるとnisのauto.master/auto.homeのような機構が必要となる

このauto.master/auto.homeのマップ情報をsamba-adに載せて、sssd経由で利用してみる

参照:
https://wiki.samba.org/index.php/Samba_AD_Schema_Extenstions
http://linuxcostablanca.blogspot.com.es/2013/09/samba4-autofs-with-rfc2307bis-schema.html
https://linuxcostablanca.blogspot.com/2013/09/samba4-autofs-with-rfc2307bis-schema.html

2017y02m25d_101415849.png

samba4ADDC のスキーマを拡張

拡張する前にsambaを停止して、バックアップを取得する。失敗した場合の保険
あとデータベースに問題がないかをチェックして、あるなら修正しておく

[root@c ~]# systemctl stop samba
[root@c ~]# (cd /opt && gtar cvfz samba-4.5.5-170225.tar.gz ./samba )
 
[root@c ~]# /opt/samba/bin/samba-tool dbcheck --fix --yes
[root@c ~]# /opt/samba/bin/samba-tool dbcheck --cross-ncs --fix --yes

留意 DCが複数あるなら、fsmoのSchemaMasterRoleを持っているマスターノードなマシンで作業する。作業中、他のDCは止めたほうがいいみたい

まずは下記3つの属性(Attribute Types)を追加する
automountMapName
automountKey
automountInformation
これらのスキーマ追加はldbmodifyコマンドで attr.ldifファイルを流し込む

[root@c ~]# /opt/samba/bin/ldbmodify -H /opt/samba/private/sam.ldb attr.ldif --option="dsdb:schema update allowed"=true
Modified 3 records successfully

次に、下記2つのオブジェクトクラスを加える
automountMap
automount
これも同じくldbmodifyコマンドで、今度はclass.ldifファイルを流し込む

[root@c ~]# /opt/samba/bin/ldbmodify -H /opt/samba/private/sam.ldb class.ldif --option="dsdb:schema update allowed"=true
Modified 2 records successfully

成功したら samba を再起動させます
留意 DCが複数あるなら、マスター稼動後に他のDCも稼動させる

[root@c ~]# systemctl start samba

追加スキーマの確認

「LdapAdmin.exe」を使って、DCにアクセスして、「Tools」->「Schema..」を選ぶ。
表示された「Schema Viewer」で、左ペインを展開して
Attribute Type」に「automountKey」「automountMapName」
2017y02m25d_233543316.png
Object Classes」に「automount」「automountMap」
2017y02m25d_233558346.png
を確認します。
*複数DCで運用している場合、暫くすると伝播して同じスキーマが表示されます。

autofsの枠組み登録

ここではNISで言うところの「auto.master/auto.home」マップをADの組織単位(OU)「automount」の配下に入れることにします。
作成は再びldbmodifyコマンドで行います。
まず、組織単位(OU)「automount」の作成。automount.ldif

[root@c ~]# /opt/samba/bin/ldbmodify -H /opt/samba/private/sam.ldb automount.ldif
Modified 1 records successfully

*sambaは稼働中でもOK
次に「auto.master」と「auto.home」を登録します auto.master.ldifauto.home.ldif

[root@c ~]# /opt/samba/bin/ldbmodify -H /opt/samba/private/sam.ldb auto.master.ldif
Modified 1 records successfully
 
[root@c ~]# /opt/samba/bin/ldbmodify -H /opt/samba/private/sam.ldb auto.home.ldif
Modified 1 records successfully

この後、「Active Directory ユーザーとコンピューター」を開くと追加されたことが分かる
2017y02m26d_000231915.png
*複数DCで運用している場合、同アプリの「ドメインコントローラーの変更」から別のDCを指定すると正しく反映されていることが分かる
2017y02m26d_000324946.png

autofsのデータ登録

NISで言うところの/etc/auto.masterが

/home    auto.home

なら auto.master.value.ldif として

  1
  2
  3
  4
  5
  6
  7
  8
dn: CN=/home,ou=auto.master,OU=automount,DC=sybyl,DC=local
objectClass: top
objectClass: automount
objectClass: container
cn: /home
name: /home
automountKey: /home
automountInformation: auto.home

を用意して

[root@c ~]# /opt/samba/bin/ldbmodify -H /opt/samba/private/sam.ldb auto.master.value.ldif

と実行する。
次に、auto.homeの登録であるが、これもNISで言うところの

illya     -rw    nfs1:/home/illya
saber     -rw    nfs2:/home/saber

であるなら、auto.home.value.ldif として

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
dn: CN=illya,ou=auto.home,OU=automount,DC=sybyl,DC=local
objectClass: top
objectClass: automount
objectClass: container
cn: illya
name: illya
automountKey: illya
automountInformation: -rw nfs1:/home/illya
 
dn: CN=saber,ou=auto.home,OU=automount,DC=sybyl,DC=local
objectClass: top
objectClass: automount
objectClass: container
cn: saber
name: saber
automountKey: saber
automountInformation: -rw nfs2:/home/saber

を用意して

[root@c ~]# /opt/samba/bin/ldbmodify -H /opt/samba/private/sam.ldb auto.home.value.ldif

と実行する。
これら登録したデータは「Active Directory ユーザーとコンピューター」では確認できません。「ADSIエディター」で確認します。
2017y02m26d_105337940.png
*こちらのデータも少しの間を置いて別のDCに伝播されます

autofs データを利用する

この登録したautofsデータを実際のクライアントで使用してみる
具体的には

の2か所を調整します。
まずsssd.confから、パッケージ「libsss_autofs」をインストールして、sssd.confを修正します

[root@client ~]# yum install libsss_autofs autofs
[root@client ~]# vi /etc/sssd/sssd.conf
[sssd]
services = nss, pam, autofs
config_file_version = 2
domains = sybyl.local
 
[domain/sybyl.local]
id_provider = ad
auth_provider = ad
access_provider = ad
ad_server = c.sybyl.local
 
ldap_id_mapping = False
enumerate = True
krb5_keytab = /etc/krb5.keytab
 
[autofs]
autofs_provider = ldap
ldap_autofs_search_base = OU=automount,DC=sybyl,DC=local
ldap_autofs_map_object_class = automountMap
ldap_autofs_entry_object_class = automount
ldap_autofs_map_name = automountMapName
ldap_autofs_entry_key = automountKey
ldap_autofs_entry_value = automountInformation
 
[root@client ~]# systemctl restart sssd

*sssdをインストールした際に「libsss_autofs」も関連としてインストールされる

次に/etc/nsswitch.confの「automount:」項目を修正します

[root@client ~]# diff -u /etc/nsswitch.conf.orig /etc/nsswitch.conf
--- /etc/nsswitch.conf.orig     2017-02-26 19:08:37.328460687 +0900
+++ /etc/nsswitch.conf  2017-02-26 23:47:54.281936378 +0900
@@ -59,6 +59,6 @@
 
 publickey:  nisplus
 
-automount:  files
+automount:  sss
 aliases:    files nisplus
 
[root@client ~]#
最新の60件
2026-01-22 2026-01-18 2026-01-17 2026-01-16 2026-01-12 2026-01-11 2026-01-10 2026-01-09 2026-01-08 2026-01-06 2026-01-04 2026-01-01 2025-12-31 2025-12-28 2025-12-27 2025-12-12 2025-12-11 2025-12-09 2025-12-08 2025-12-07 2025-12-05 2025-11-30 2025-11-27 2025-11-24 2025-11-23 2025-11-18 2025-11-16 2025-11-05 2025-11-03 2025-11-02 2025-10-30 2025-10-29 2025-10-28 2025-10-26 2025-10-25 2025-10-24 2025-10-22 2025-10-21 2025-10-17 2025-10-13 2025-10-11 2025-10-06 2025-10-05

edit


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-02-27 (月) 00:25:45