ストレージサーバが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

samba-ad のスキーマを拡張

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

[root@ad ~]# systemctl stop samba
[root@ad ~]# (cd /opt && tar cvfz samba-241002.tar.gz ./samba)
 
[root@ad ~]# samba-tool dbcheck                    <--エラーがあるなら「samba-tool dbcheck --fix --yes」
[root@ad ~]# samba-tool dbcheck --cross-ncs        <--エラーがあるなら「samba-tool dbcheck --cross-ncs --fix --yes」

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

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

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

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

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

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

[root@ad ~]# systemctl start samba

追加スキーマの確認

「LdapAdmin.exe」を使って、DCにアクセスして、「Tools」->「Schema..」を選ぶ。
表示された「Schema Viewer」で、左ペインを展開して
Attribute Type」に「automountInformation」「automountKey」「automountMapName」を確認します
2024y10m04d_193733489.png

Object Classes」に「automount」「automountMap」を確認します。
2024y10m04d_193815390.png
*複数DCで運用している場合、暫くすると伝播して同じスキーマが表示されます。

autofsの枠組み登録

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

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

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

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

この後、「Active Directory ユーザーとコンピューター」を開くと追加されたことが分かる
2024y10m04d_195503164.png

autofsのデータ登録

値を入れる枠が出来たので次は値を入れます
まず、auto.master.

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

/-  auto.home --timeout=60

なら auto.master.value.ldif を下記のように作り

dn: CN=/-,ou=auto.master,OU=automount,DC=chaperone,DC=jp
objectClass: top
objectClass: automount
objectClass: container
cn: /-
name: /-
automountKey: /-
automountInformation: auto.home --timeout=60

ldbmodify コマンドで下記のようにして反映させます

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

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

/home    -rw nfs:/home
/apps    -rw nfs:/apps

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

dn: CN=/home,ou=auto.home,OU=automount,DC=chaperone,DC=jp
objectClass: top
objectClass: automount
objectClass: container
cn: /home
name: /home
automountKey: /home
automountInformation: -rw nfs:/home
 
dn: CN=/apps,ou=auto.home,OU=automount,DC=chaperone,DC=jp
objectClass: top
objectClass: automount
objectClass: container
cn: /apps
name: /apps
automountKey: /apps
automountInformation: -rw nfs:/apps

を用意して

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

と実行する。
これら登録したデータは「Active Directory ユーザーとコンピューター」では確認できません。「ADSIエディター」で確認します。
2024y10m04d_222349583.png

autofs データを利用する

参照LDAP/autofs

この登録したautofsデータを実際のクライアントで使用してみる
samba/Linux参加#ib38591bで示したようにsamba-adへの参加方法はいくつかある

 samba-ad
    +--- sssd     --> /etc/sss/sssd.conf を修正 sssd を起動
    |                       +-- id_provider = ad
    |                       +-- id_provider = ldap   <-- samba-adをLDAPサーバと見做す
    |
    +--- winbind  --> /etc/samba/smb.confを修正 winbindd を起動
                            +-- backend:ad    <-- rfc2307が使える
                            +-- backend:rid   <-- rfc2307なし

samba-adにスキーマ拡張してautofsを扱うようしたが、実態はldapのそれと同じ.
sssd系,winbind系共にsssdでカバーした方がいいかな.

staticでするなら従来通りの /etc/auto.(master|host) を作る事になります.

具体的には

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

[root@samba-client ~]# dnf install libsss_autofs autofs nfs-utils autofs sssd-tools
[root@samba-client ~]# vi /etc/sssd/sssd.conf
[sssd]
services = nss, pam, autofs
config_file_version = 2
domains = default
 :
 :
[autofs]
autofs_provider                = ldap
ldap_autofs_search_base        = OU=automount,DC=chaperone,DC=jp
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@samba-client ~]# systemctl restart sssd

注意 LDAP/autofs と違ってます。理由は使っているスキーマの違いです.
https://linuxcostablanca.blogspot.com/2013/09/samba4-autofs-with-rfc2307bis-schema.htmlの票の「RFC2307bis」です.
LDAP/autofsは「NIS」で行ってます

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

[root@samba-client ~]# vi /etc/nsswitch.conf
 :
netgroup:   sss files
automount:  sss
services:   sss files
 :
[root@samba-client ~]#
[root@samba-client ~]# systemctl restart sssd
[root@samba-client ~]# systemctl restart autofs

これでautofsの情報は samba-ad から取得して実行されます

あとこれはkrb対応にしていれば「sec=krb5」とか使える.

最新の60件
2024-12-08 2024-12-05 2024-12-04 2024-11-28 2024-11-23 2024-11-22 2024-11-15 2024-11-14 2024-11-12 2024-11-06 2024-11-05 2024-11-04 2024-11-02 2024-11-01 2024-10-29 2024-10-28 2024-10-27 2024-10-23 2024-10-18 2024-10-17 2024-10-15 2024-10-14 2024-10-13 2024-10-11 2024-10-10 2024-10-09 2024-10-08 2024-10-05 2024-10-04 2024-10-03 2024-10-02 2024-10-01 2024-09-30 2024-09-29 2024-09-28 2024-09-27 2024-09-22 2024-09-20 2024-09-17

edit


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2024-10-05 (土) 01:05:20