Puncte:0

(21.10) clientul gssd nu pare să vadă memoria cache a acreditărilor utilizatorului când montează nfsv4 + kerberos

drapel pr

Încerc să fac o montare utilizator NFSv4 a unui laptop (spigot, 21.10) pe un server (deuce, 20.04 LTS) cu Kerberos și din anumite motive rpc.gssd nu pot vedea memoria cache a acreditărilor mele. Rețineți că aceasta este 100% o problemă la nivelul clientului, deoarece serverul NFS funcționează deja bine cu un client Mac.

In al meu /etc/fstab pe laptop, am urmatoarele:

deuce:/home/dorian /net/dorian nfs4 sec=krb5p,soft,user,noauto 0 0

Când încerc montură ca eu:

dorian@spigot:~$ mount -t nfs4 -vvvv deuce:/home/dorian
mount.nfs4: timeout setat pentru sâmbătă, 18 decembrie 10:41:06 2021
mount.nfs4: încercarea de opțiuni bazate pe text „sec=krb5p,soft,vers=4.2,addr=172.16.0.254,clientaddr=172.16.0.19”
mount.nfs4: mount(2): Permisiune refuzată
mount.nfs4: acces refuzat de server în timpul montării deuce:/home/dorian

rpc.gssd -f -vvv deversează următoarele:

handle_gssd_upcall: 'mech=krb5 uid=0 service=* enctypes=18,17,16,3,1,2' (nfs/clnt12)
krb5_use_machine_creds: uid 0 tgtname (null)
Numele de gazdă complet pentru „deuce.office.srs.biz” este „deuce.office.srs.biz”
Numele de gazdă complet pentru „spigot” este „spigot”
Fișierul tabelului de chei „/etc/krb5.keytab” nu a fost găsit la obținerea intrării din tabelul de chei pentru „[email protected]”
Fișierul tabelului de chei „/etc/krb5.keytab” nu a fost găsit la obținerea intrării din tabelul de chei pentru „[email protected]”
Fișierul tabelului de chei „/etc/krb5.keytab” nu a fost găsit la obținerea intrării din tabelul de chei pentru „root/[email protected]”
Fișierul tabelului de chei „/etc/krb5.keytab” nu a fost găsit la obținerea intrării din tabelul de chei pentru „nfs/[email protected]”
Fișierul tabelului de chei „/etc/krb5.keytab” nu a fost găsit la obținerea intrării din tabelul de chei pentru „host/[email protected]”
EROARE: Fișierul tabelului de chei „/etc/krb5.keytab” nu a fost găsit la începutul scanării keytab-ului pentru keytab „FILE:/etc/krb5.keytab”
EROARE: Fișierul tabelului de chei „/etc/krb5.keytab” nu a fost găsit la începutul scanării keytab-ului pentru keytab „FILE:/etc/krb5.keytab”
EROARE: Fișierul tabelului de chei „/etc/krb5.keytab” nu a fost găsit la începutul scanării keytab-ului pentru keytab „FILE:/etc/krb5.keytab”
Fișierul tabelului de chei „/etc/krb5.keytab” nu a fost găsit la obținerea intrării din tabelul de chei pentru „SPIGOT$@”
Fișierul tabelului de chei „/etc/krb5.keytab” nu a fost găsit la obținerea intrării din tabelul de chei pentru „root/spigot@”
Fișierul tabelului de chei „/etc/krb5.keytab” nu a fost găsit în timpul obținerii intrării keytab pentru „nfs/spigot@”
Fișierul tabelului de chei „/etc/krb5.keytab” nu a fost găsit la obținerea intrării din tabelul de chei pentru „gazdă/spigot@”
EROARE: Fișierul tabelului de chei „/etc/krb5.keytab” nu a fost găsit la începutul scanării keytab-ului pentru keytab „FILE:/etc/krb5.keytab”
EROARE: Fișierul tabelului de chei „/etc/krb5.keytab” nu a fost găsit la începutul scanării keytab-ului pentru keytab „FILE:/etc/krb5.keytab”
EROARE: Fișierul tabelului de chei „/etc/krb5.keytab” nu a fost găsit la începutul scanării keytab-ului pentru keytab „FILE:/etc/krb5.keytab”
EROARE: gssd_refresh_krb5_machine_credential: nu s-a găsit nicio intrare utilizabilă keytab în keytab /etc/krb5.keytab pentru conexiunea cu gazda deuce.office.srs.biz
EROARE: Nu s-au găsit acreditări pentru conectarea la serverul deuce.office.srs.biz
făcând apel de eroare

(În principal, aceasta este văitarea de lipsa unei tabele de taste; dacă tasta de taste ar fi prezentă, s-ar plânge în schimb că nu există directori în ea.)

Cu alte cuvinte, nici măcar nu încerca pentru a citi ccache-ul Kerberos. Intr-adevar se spune uid=0 ceea ce are sens pentru că rpc.gssd este într-adevăr rulat ca root. Dar sursa de gssd_proc.c sugerează că ar trebui trimiteți la utilizatorul apelant înainte de a încerca să căutați memoria cache a acreditărilor. Cu toate acestea, nu pare să facă asta de fapt. Mai degrabă, ar trebui să obțină uid-ul dintr-un fișier magic în acel ciudat rpc_pipefs montură, iar dacă eu strace rpc.gssd -f -vvv pot vedea că valoarea din acel fișier RPC voodoo este mech=krb5 uid=0 service=*â¦, deci orice ar trebui să seteze asta la uid-ul utilizatorului meu nu o face.

(De remarcat că pe baza sursei, că încercarea de a utiliza un principal de serviciu este declanșată de combinația dintre a serviciu= fiind prezent în acel fișier pipefs împreună cu uid=0.)

Deci întrebarea mea este: ce este responsabil pentru setarea conținutului acelui fișier (/run/rpc_pipefs/nfs/$CLIENT/krb5), și ce incantație trebuie să intonez pentru a o face să spună ceea ce trebuie?

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.