Am găsit o soluție folosind permisiunile Samba, dar aș dori totuși să știu dacă există abordări la nivelul clientului. (Nu am auzit niciodată de vreunul, dar cine știe).
În situația mea în care există un server de fișiere asemănător NAS existent+funcțional care partajează un sistem de fișiere NTFS extern, unde nu au fost setate permisiuni de utilizator din Windows, rulează un server Samba și un PC client Ubuntu cu un utilizator adult (" adultname") și un utilizator copil ("childname")...
Cutia NAS Samba are nevoie de capacitatea de a adăuga numele de utilizator Ubuntu al copilului ca utilizator. De exemplu. prin „nume copil adduser”
numele de utilizator al copilului este adăugat la server, dar nu poate fi folosit (cu ușurință) pentru a seta permisiuni de fișiere acl/Linux pe un disc NTFS, aveam nevoie doar să fie acolo pentru Samba
Pe server, odată ce utilizatorul a fost creat, acestea trebuie adăugate la Samba și, de asemenea, activate pe Samba. Comenzile pentru aceasta au fost „smbpasswd -a childname” și apoi „smbpasswd -e childname”.
atâta timp cât au funcționat bine înainte de a adăuga utilizatorul copil (există o mulțime de ghiduri), linia /etc/fstab pe care serverul o folosește pentru a-și monta HDD-ul nu sunt atât de importante și pot fi lăsate la fel
linia /etc/fstab pe care clientul o folosește pentru a monta partajarea Samba nu este, de asemenea, atât de importantă, nu este nevoie să adăugați noi setări pentru acl, sau fmask= și dmask=, sau file_mode= și folder_mode= sau pentru orice acreditări suplimentare fișier care urmează să fie creat
nu este nevoie să încercați să creați un fișier de mapare a utilizatorului pentru a activa permisiunile fișierelor acl/POSIX pe discul ntfs (acest lucru ar putea fi posibil ca o abordare)
în fișierele respective etc/fstab serverul poate folosi ntfs ca tip de fișier, dar clientul trebuie să folosească cifs dacă este să monteze automat
pe HDD-ul partajat este mai bine să nu păstrați folderul utilizatorului copil în folderul utilizatorului adult sau ca folderul adultului să fie rădăcina unității (în cazul meu nu am putut evita cu ușurință aceste lucruri)
tipul simplu de permisiuni necesare pentru adăugarea unui utilizator copil fără acces de scriere și acces limitat de citire poate fi gestionat în Samba prin editarea smb.conf
în smb.conf setările globale necesare pentru a adăuga această linie: -
browseable = nu
în smb.conf, intrarea pentru cota utilizatorului adult trebuia să aibă aceste linii adăugate:-
lista de citire = rădăcină nume adulținume copil
listă de scris = rădăcină nume de adulți
în cele de mai sus, deși este contraintuitiv, numele de utilizator al copilului trebuie să fie în lista de citire a cotei de samba a adultului, deoarece folderul lor se află în interiorul acestuia și permisiunile nu „traversează” pur și simplu pentru a-i lăsa să-și citească share-ul fără a putea, de asemenea pentru a citi folderul de mai sus
setarea browseable = nu nu este sigură, cum ar fi eliminarea permisiunilor de fișiere acl/POSIX de la acel utilizator pentru acele fișiere, dar în acest caz este suficient de bună
în smb.conf, intrarea pentru cota utilizatorului copil trebuia să aibă aceste linii adăugate:-
lista de citire = rădăcină nume adulținume copil
listă de scris = rădăcină nume de adulți
în cazul meu, modificările de mai sus nu au afectat computerele locale Windows care accesează partajările
Alte abordări ar fi fost posibilitatea de a face copii locale ale tuturor fișierelor pentru utilizatorul copil sau de a reformata hdd-ul partajat ca ext4 și de a organiza în mod diferit aspectul folderului - dar mi s-a părut de preferat în acest fel, face ceea ce am vrut și folosește Samba. control acces scurt de acl
Dacă am făcut vreo eroare, aș fi recunoscător să știu. Dacă există o modalitate mai simplă de a limita un utilizator în interfața Ubuntu, ar fi și el util (deoarece nu poate strica să adăugați astfel de lucruri deasupra dacă sunt acolo).