Doresc să montez partajarea SMB pe un punct de montare comun pentru toți utilizatorii și să-l montez automat atunci când este accesat, cum ar fi atunci când mapați o unitate de rețea la o literă de unitate comună într-un mediu Windows și folosește doar acreditările de conectare ale utilizatorului pentru autentificare.
Kerberos nu este disponibil, așa că sunt limitat la NTLM pentru autentificare, de asemenea, share-ul nu poate fi montat în timpul pornirii, trebuie montat la cerere, deoarece o conexiune la rețea nu este întotdeauna disponibilă la boot.
M-am gândit că ar trebui să pot folosi cifscreds / pam_cifscreds pentru a stoca acreditările CIFS, dar încă sunt promovat pentru o parolă atunci când partajarea este montată, chiar și atunci când acreditările sunt stocate manual folosind cifscreds adaugă -u utilizatorul meu serverul meu
sau în timpul conectării folosind pam_cifscreds.
Singurul lucru care funcționează de fapt așa cum m-aș aștepta este atunci când user2 accesează partajarea după ce a fost montat de user1, atunci user2 vede doar orice la care are acces (dacă acreditările sunt disponibile).
Așa este configurat sistemul meu până acum
/etc/fstab
//myserver/myshare$ /myshare cifs vers=3.0,sec=ntlmsspi,multiuser,cifsacl,noauto,nodev,nosuid,noserverino,user,x-gvfs-show 0 0
/etc/pam.d/common-auth
auth opțional pam_cifscreds.so
/etc/pam.d/common-session
sesiune necesară pam_keyinit.so
sesiune opțională pam_cifscreds.so host=myserver
Problema 1:
Când partajarea este montată din linia de comandă folosind mount /myshare
, utilizatorului i se solicită parola, chiar dacă acreditările CIFS ale utilizatorului sunt disponibile atunci când arată keyctl
este executat.
Acest lucru face, de asemenea, imposibilă montarea de pe desktop sau montarea automată.
Problema 2:
Când porniți o sesiune desktop, nu sunt disponibile acreditări CIFS când arată keyctl
este executat.
Dar când vă conectați folosind SSH, acreditările CIFS apar când arată keyctl
este executat., așa că pam_cifscreds pare să nu funcționeze deloc atunci când este pornită o sesiune desktop.
Update1: Presupun că aceasta este o cauză probabilă https://github.com/systemd/systemd/issues/1299