Wenn Sie sich mit einem Windows-Domänenbenutzer anmelden, ist bereits ein Kerberos-Ticket angefordert. Sie können es testen, indem Sie klist ausführen .
Um dieses Ticket wiederzuverwenden, müssen Sie user hinzufügen und cruid Option zu Ihrer Montagereihenfolge. Auf diese Weise müssen Sie keine Anmeldeinformationen erneut eingeben.
sudo mount -t cifs -o user=$USER,cruid=$USER,sec=krb5 //domain/path /home/path
Um die Freigabe mit Ihrem Benutzer als Eigentümer (und damit mit Schreibrechten) zu mounten, fügen Sie die gid hinzu und uid Optionen.
sudo mount -t cifs -o user=$USER,cruid=$USER,sec=krb5,gid=$GID,uid=$UID //domain/path /home/path
Sie erhalten Ihren $GID indem Sie id -g $USER ausführen und Ihre $UID von id -u $USER .
Es kann sein, dass Sie apt-get install keyutils müssen damit das funktioniert.
Versuchen Sie zuerst -o vers=1 . Der SMB2-Client des Kernels hat erst vor kurzem Kerberos-Unterstützung erhalten – in Ubuntu 14.04 wird es nur der 4.4.x-Kernel haben.
Überprüfen Sie zweitens, ob die request-key und cifs.upcall Binärdateien installiert sind und letzteres in /etc/request-key.conf erwähnt wird (oder /etc/request-key.d/ ):
create cifs.spnego * * /usr/bin/cifs.upcall %k
Überprüfen Sie abschließend das Systemprotokoll (/var/log/debug oder journalctl -b ) nach Nachrichten von cifs.upcall und stellen Sie sicher, dass es an der richtigen Stelle nach Ihren Tickets sucht. Es weiß es nicht wirklich welcher Prozess auf die Freigabe zugreift und welchen $KRB5CCNAME er hat, also muss er ein paar gemeinsame Stellen erraten.
In der Tat, wenn Sie mount ausführen über sudo hat der Mount-Prozess (der als uid 0 läuft) keine Tickets standardmäßig; ein separater sudo kinit kann erforderlich sein.