Checklista för mappning av användare och grupper i containrar för NAS-delningar

Eva Wong är Teknisk skribent och den boende fixaren på ZimaSpace. En livslång nörd med en passion för hemma-labb och öppen källkod, hon specialiserar sig på att översätta komplexa tekniska koncept till tillgängliga, praktiska guider. Eva tror att självhosting ska vara roligt, inte skrämmande. Genom sina handledningar ger hon gemenskapen verktyg att avmystifiera hårdvaruinstallationer, från att bygga sin första NAS till att bemästra Docker-containrar.

Det säkra tillvägagångssättet är att behandla en kontroll av numerisk identitetsmappning från NAS-export via värdmontering till den körande containerprocessen som en serie observerbara grindar, inte som ett enda kommando.

På en Linux-container­värd som använder SMB- eller NFS-baserade NAS-delningar är den praktiska risken att en container kan se en NAS-monterad sökväg, men att läsning eller skrivning misslyckas med behörighetsfel. Dokumentera den aktuella identiteten och återställningspunkten, börja med den minst ingripande särskiljande kontrollen, tolka godkända och underkända resultat innan du ändrar någon annan variabel och avbryt när lagringen blir instabil eller den enda återställningsbara kopian skulle exponeras. Arbetsflödet nedan avslutas först när den ursprungliga arbetsbelastningen fungerar eller när bevisningen når en eskaleringsgräns.

Identifiera den faktiska identiteten för containerprocessen

Granska bildens dokumentation, Compose-inställningen user, miljövariabler, entrypoint-beteende samt UID, GID och kompletterande grupper för den körande applikationsprocessen. Variabler med namnen PUID och PGID är bildspecifika konventioner, inte universella Docker-funktioner, så bekräfta att den här avbildningen stöder dem.

Ett fall i LinuxServer-communityt om behörighetsproblem med PUID och PGID i en container visar att till synes korrekta PUID- och PGID-värden ändå kan göra en bind-montering otillgänglig. Använd fallet som en påminnelse om att granska den körande processen och monteringen, inte som bevis för att alla avbildningar använder samma initieringslogik.

Dokumentera numeriska värden med id inuti containern och på värden. Avbryt om applikationen körs som root enbart för att behörigheter tidigare misslyckades; root-åtkomst döljer mappningsfelet och ökar konsekvenserna av en komprometterad tjänst.

Spåra ägarskap från NAS:en till värdmonteringen

På NAS:en granskar du numerisk ägare, grupp, läge, ACL och standard-ACL för målkatalogen. På containervärden granskar du samma monterade objekt och jämför numeriska värden. Om namnen skiljer sig men numren överensstämmer är etiketterna kosmetiska; om numren skiljer sig är auktoriseringssökvägen faktiskt annorlunda.

För NFS ska du inkludera exportalternativ, NFS-version, ID-mappning, root-squashing och klientens monteringsidentitet. För SMB ska du inkludera monteringsuppgiften, den servermappade identiteten, presentationsalternativen uid eller gid samt om Unix-tillägg eller ACL-översättning används.

Ändra inte server-ACL:er och klientens monteringsalternativ samtidigt. Steget är godkänt när en testfil har en känd numerisk ägare och värden visar en stabil mappning efter avmontering, ommontering och omstart.

Testa bind-monteringen och kompletterande grupper

Bekräfta att containerns källsökväg är den förväntade värdmonteringen och inte en tom lokal katalog som skapades innan nätverksdelningen monterades. Granska körningens montering och testa sedan listning, läsning, skapande, namnbyte och radering som applikationsanvändaren i en temporär underkatalog.

Ett Server Fault-fall dokumenterar en NFS-ACL-behörighetsmismatch även när ägare och ACL-poster verkar överensstämma, vilket visar varför ACL-masken, servermappningen och den effektiva identiteten alla måste granskas. Samla in getfacl för både katalogen och den skapade filen.

Om gruppåtkomst är avsedd lägger du till den stödda kompletterande numeriska gruppen och återskapar containern eftersom processgrupperna fastställs vid starten. Använd ZimaSpace-guiden om diagnostik av en tom containersökväg när applikationen startar mot en tom sökväg; det är ett monteringsordningsproblem, inte ett ACL-problem.

-15% OFF
Single board computer zimaboard2

Tillämpa den snävaste identitetskorrigeringen och testa igen

Föredra att anpassa applikationens stödda UID, GID eller kompletterande grupp till NAS-policyn. Använd en delad grupp och ärvda ACL:er när flera tjänster samarbetar. Undvik skrivbehörighet för alla, rekursiva ägarändringar över orelaterade datamängder och privilegierade containrar som genvägar.

Återskapa containern, montera om delningen om mappningsalternativen ändrades och upprepa samma åtgärder. Starta om värden en gång för att verifiera att monteringsordning och numerisk identitet överlever uppstart. Bekräfta att nyskapade filer förblir skrivbara för avsedda mänskliga klienter utan att ge containern onödiga rättigheter.

Stäng checklistan när appen klarar sin ursprungliga arbetsbelastning, nekade åtgärder fortfarande nekas och ägarskapet förblir stabilt efter omstart. Eskalera om användarnamnutrymmen, rootless-mappningar eller NAS-identitetstjänster skriver om ID:n på ett sätt som den valda avbildningen inte kan stödja.

Support och tips

Mer att läsa

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.