web-dev-qa-db-ja.com

Kerberosチケットを使用してSamba共有をマウントするためのAutoFS

DebianStretchでSambaADをセットアップしました。別のストレッチクライアントノードは、AD資格情報を使用して認証できます。

ドメインユーザーは、クライアントノードに対する制限された権限を持っています。つまり、クライアントに何もマウントできません。

クライアントで、私は2つのことをテストしました。

  1. パスワードを使用したマウント:

    # mount -t cifs \\\\fileserver.my.org\\share /mnt -o user=domainUser1

    次に、domainUser1のドメインパスワードを尋ねられます。その後、共有はrootによってマウントされます。

  2. Kerberosチケットを使用したマウント:

    # kinit domainUser1

    # mount -t cifs \\\\fileserver.my.org\\share /mnt -o sec=krb5

    このようにして、現在のセッションにKerberosチケットがある場合に共有をマウントできます(klistで確認)。

すべてが手動で取り付けられます。 AutoFSを使用して共有をマウントしようとすると、問題が発生します。

/etc/auto.master読み取り:

+ dir:/etc/auto.master.d

+ auto.master

/ cifs /etc/auto.cifs

そして/etc/auto.cifsは次のように読みます:

共有-fstype = cifs、multiuser、cruid = $ {UID}、sec = krb5://fileserver.my.org/share

過去1時間にAutoFSについて学んだことから、これは機能するはずです。しかし、何らかの理由で、/cifs/フォルダーは常に空です。 /var/log/messages/var/log/syslogの両方を試しましたが、ログに注目すべきものは何も見つかりませんでした。

1
Green Stone

AutoFSのデバッグ

Autofsをデバッグするには、サービスを停止してコマンドラインで実行します。

Sudo service autofs stop
Sudo automount -f -d

またはデバッグログをオンにします

/etc/autofs.confを編集し、ロギングを「debug」または「verbose」に設定します。

logging = "debug"

これで遊んでください..しかし、実際には、デフォルトのままにしておくのに十分な詳細がありました(つまり、行をコメントアウトします)

Kerberosチケットのファイル名が正しいことを確認してください

これが私たちの頭痛の種でした。何年もの間、生成されたKerberosキーファイルのファイル名を修正するまで、AutoFSはKubuntu18.04で実行されませんでした。 demo.logを調べて、検索しているファイルの名前が/ tmp/krb *にあるものと同じであることを確認します。

これがdaemon.logでの表示であり、正確なファイル名が何であるかを確認できます。

May 14 17:08:29 computer123 cifs.upcall: get_existing_cc: default ccache is FILE:/tmp/krb5cc_12345678

上記はデフォルトのロギングオプション、つまり/etc/autofs.confでコメントアウトされたロギング行であったと確信しています。実際、おそらく詳細なオプションの1つはそれを表示しませんでした..(?!)

解決策-/ etc/sssd/sssd.confを編集し、[domain/yourAD_ServerName]の下に以下を追加する必要がありました

krb5_ccname_template=FILE:%d/krb5cc_%U

これは、AutoFSが期待するファイル名でkerborosチケットを作成するようにsssdに指示します。変更を有効にする前に再起動する必要がありました(はい、sssd-secrets、sssd、autofsを再起動してみました)。

1
Bastion