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.