Am exportat o partajare NFS de pe un server și am montat-o de pe un client. Am primit erori cu permisiunea refuzată când am încercat să-l accesez, mă întrebam de ce. A făcut exportul care poate fi scris în lume, a creat un fișier acolo și s-a dovedit că clientul îl accesează cu un alt utilizator decât mă așteptam.
Exportul meu:
/export fd48:2b50:6a95:a6db::4(ro,no_subtree_check,fsid=0,all_squash)
/export/backup-fs fd48:2b50:6a95:a6db::4(rw,no_subtree_check,root_squash,anonuid=34,anongid=34)
(Notă: adresele IP publice au fost schimbate în private din motive de confidențialitate.)
Intenția aici este de a face rădăcină_dovleac
, DAR utilizatorul rădăcină al clientului ar trebui să fie strivit la UID-ul local 34 (utilizator de rezervă); acesta este scopul anonuid
, anongid
. Astfel, dacă exportul este deținut de UID/GID 34, utilizatorul rădăcină al clientului ar trebui tratat ca și cum ar fi un proprietar al acestuia. Cu toate acestea, când creez un fișier pe partajare, acesta devine deținut de nimeni/niciun grup
. De ce? Totul se potrivește între cele două sisteme: ambele au UID/GID 34 și ambele sunt denumite backup
.
De asemenea, a trebuit să mă schimb /export
la rw
, ceea ce nu prea are sens pentru mine, pentru că vreau ca rădăcina de export să fie doar pentru citire și numai subdir-ul backup-fs să poată fi scris.
Sistem server:
Ubuntu 20.04.3 LTS (GNU/Linux 5.4.0-81-generic x86_64)
Iată cum arată montura pe client:
my-nfs-server:/backup-fs pe /var/backups/fs/data type nfs4 (rw,relatime,vers=4.2,rsize=65536,wsize=65536,namlen=255,hard,proto=tcp6,timeo= 600,retrans=2,sec=sys,clientaddr=fd48:2b50:6a95:a6db::4,local_lock=none,addr=fdc8:d5f9:cbbf:b206::2001)
Ceea ce mă deranjează în mod deosebit este că am ACEASTA CONFIGURARE EXACT ACEEAȘI pe un alt server NFS și o montez CU FOARTE ACEȘI client și funcționează conform intenției. Nu găsesc nicio diferență între cele două configurații, deși am o versiune Ubuntu mai veche și o versiune de kernel asociată pe celălalt sistem.