Kerberos チケットを使用する Samba 共有用 AutoFS

Kerberos チケットを使用する Samba 共有用 AutoFS

Debian StretchにSamba ADを設定しました。他の拡張クライアントノードは、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

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

手動インストールですべてがうまく機能します。 AutoFSを使用して共有をマウントしようとすると問題が発生します。

/etc/auto.master内容は次のとおりです。

+ディレクトリ:/etc/auto.master.d

+自動マスター

/cifs /etc/auto.cifs

そして/etc/auto.cifs書いた:

Share-fstype=cifs,multiuser,cruid=${UID},sec=krb5://fileserver.my.org/share

過去1時間にAutoFSについて読んだことによれば、これはうまくいくでしょう。しかし、何らかの理由で、/cifs/フォルダは常に空です。/var/log/messages試しましたが、/var/log/syslogログに注目すべき内容が見つかりませんでした。

答え1

AutoFS デバッグ

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

sudo service autofs stop
sudo automount -f -d

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

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

logging = "debug"

これで遊んでいますが…実際にはデフォルト値にするのに十分な詳細があります(たとえば、その行にコメントを付けます)。

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

これが私たちに頭痛を与えることです。生成されたKerberosキーファイルのファイル名を変更するまで、長年の間、AutoFSはKubuntu 18.04で実行されていません。 daemon.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を再起動しようとしました)。

関連情報