#author("2024-01-29T16:13:39+00:00;2017-02-26T15:25:45+00:00","default:sysosa","sysosa") &color(red){みかんせい}; &size(10){過去記事: [[samba4/ホームディレクトリ/NFS設定/autofs]]}; ストレージサーバが1台なら単純にstaticでNFS共有すればいい だが、複数台になるとnisのauto.master/auto.homeのような機構が必要となる このauto.master/auto.homeのマップ情報をsamba-adに載せて、sssd経由で利用してみる &size(10){参照:}; &size(10){[[https://wiki.samba.org/index.php/Samba_AD_Schema_Extenstions>+https://wiki.samba.org/index.php/Samba_AD_Schema_Extenstions]]}; &size(10){[[http://linuxcostablanca.blogspot.com.es/2013/09/samba4-autofs-with-rfc2307bis-schema.html>+http://linuxcostablanca.blogspot.com.es/2013/09/samba4-autofs-with-rfc2307bis-schema.html]]}; &size(10){[[https://linuxcostablanca.blogspot.com/2013/09/samba4-autofs-with-rfc2307bis-schema.html>+https://linuxcostablanca.blogspot.com/2013/09/samba4-autofs-with-rfc2307bis-schema.html]]}; &ref(2017y02m25d_101415849.png,nolink,noborder); ***samba4ADDC のスキーマを拡張 [#xef96318] 拡張する前にsambaを停止して、バックアップを取得する。&size(10){失敗した場合の保険}; あとデータベースに問題がないかをチェックして、あるなら修正しておく #code(nonumber){{ [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 }} &color(white,blue){留意}; &size(10){DCが複数あるなら、fsmoのSchemaMasterRoleを持っているマスターノードなマシンで作業する。作業中、他のDCは止めたほうがいいみたい}; まずは下記3つの属性(Attribute Types)を追加する automountMapName automountKey automountInformation これらのスキーマ追加は&color(magenta){ldbmodify};コマンドで [[attr.ldif>samba/ホームディレクトリ/autofs/ldif#o0bec211]]ファイルを流し込む #code(nonumber){{ [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 これも同じく&color(magenta){ldbmodify};コマンドで、今度は[[class.ldif>samba/ホームディレクトリ/autofs/ldif#z2e09703]]ファイルを流し込む #code(nonumber){{ [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 を再起動させます &color(white,blue){留意}; &size(10){DCが複数あるなら、マスター稼動後に他のDCも稼動させる}; #code(nonumber){{ [root@c ~]# systemctl start samba }} ***追加スキーマの確認 [#efd81596] 「LdapAdmin.exe」を使って、DCにアクセスして、「Tools」->「Schema..」を選ぶ。 表示された「Schema Viewer」で、左ペインを展開して 「&color(darkorchid){Attribute Type};」に「automountKey」「automountMapName」 &ref(2017y02m25d_233543316.png,nolink); 「&color(green){Object Classes};」に「automount」「automountMap」 &ref(2017y02m25d_233558346.png,nolink); を確認します。 &color(red){*};複数DCで運用している場合、暫くすると伝播して同じスキーマが表示されます。 ***autofsの枠組み登録 [#zff71a9a] ここではNISで言うところの「auto.master/auto.home」マップをADの組織単位(OU)「automount」の配下に入れることにします。 作成は再び&color(magenta){ldbmodify};コマンドで行います。 まず、組織単位(OU)「automount」の作成。[[automount.ldif>samba/ホームディレクトリ/autofs/ldif#gf938261]] #code(nonumber){{ [root@c ~]# /opt/samba/bin/ldbmodify -H /opt/samba/private/sam.ldb automount.ldif Modified 1 records successfully }} &color(red){*};&size(10){sambaは稼働中でもOK}; 次に「auto.master」と「auto.home」を登録します [[auto.master.ldif>samba/ホームディレクトリ/autofs/ldif#pe0cf734]]、 [[auto.home.ldif>samba/ホームディレクトリ/autofs/ldif#v956c16d]] #code(nonumber){{ [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 ユーザーとコンピューター」を開くと追加されたことが分かる &ref(2017y02m26d_000231915.png,nolink); &color(red){*};複数DCで運用している場合、同アプリの「ドメインコントローラーの変更」から別のDCを指定すると正しく反映されていることが分かる &ref(2017y02m26d_000324946.png,nolink); ***autofsのデータ登録 [#pe1d568a] NISで言うところの/etc/auto.masterが #code(nonumber){{ /home auto.home }} なら auto.master.value.ldif として #code{{ 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 }} を用意して #code(nonumber){{ [root@c ~]# /opt/samba/bin/ldbmodify -H /opt/samba/private/sam.ldb auto.master.value.ldif }} と実行する。 次に、auto.homeの登録であるが、これもNISで言うところの #code(nonumber){{ illya -rw nfs1:/home/illya saber -rw nfs2:/home/saber }} であるなら、auto.home.value.ldif として #code{{ 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 }} を用意して #code(nonumber){{ [root@c ~]# /opt/samba/bin/ldbmodify -H /opt/samba/private/sam.ldb auto.home.value.ldif }} と実行する。 これら登録したデータは「Active Directory ユーザーとコンピューター」では確認できません。「ADSIエディター」で確認します。 &ref(2017y02m26d_105337940.png,nolink); &color(red){*};&size(10){こちらのデータも少しの間を置いて別のDCに伝播されます}; ***autofs データを利用する [#y78d513c] この登録したautofsデータを実際のクライアントで使用してみる 具体的には -sssd.conf ADのアカウント情報を引き出していたが、autofs情報も引き出すように修正を加える -nsswitch.conf automountの参照先をsssとする の2か所を調整します。 まずsssd.confから、パッケージ「libsss_autofs」をインストールして、sssd.confを修正します #code(nonumber){{ [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 }} &color(red){*};&size(10){sssdをインストールした際に「libsss_autofs」も関連としてインストールされる}; 次に/etc/nsswitch.confの「automount:」項目を修正します #code(diff,nonumber){{ [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 ~]# }}