Granskningschecklista för åtkomstkontrollistor i hemmets NAS för SMB, NFS och containeråtkomst

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 evidensbaserad ACL-granskning som kartlägger identiteter, effektiva behörigheter och arv över varje åtkomstväg som en sekvens av observerbara grindar, inte som ett enda kommando.

På en hem-NAS som exporterar delade data via SMB, NFS och containrar är den praktiska risken densamma: samma NAS-sökväg ger olika effektiv åtkomst via SMB, NFS och bind-monteringar i containrar. 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 stoppa 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 bevisen når en eskaleringsgräns.

Frys behörighetstillståndet och kartlägg alla identiteter

Välj en representativ delning och dokumentera dess dataset eller filsystem, exportnamn, SMB-delningens definition, NFS-export, bind-monteringar i containrar och aktuella ägarskap. Samla in numeriska UID- och GID-värden på NAS:en och i varje container; att användarnamnen överensstämmer är inget bevis på att de underliggande identiteterna gör det.

POSIX-ACL:er lägger till namngivna användare, namngivna grupper, standardposter och en mask som kan begränsa deras effektiva rättigheter. POSIX-ACL-maskens beteende förklarar varför masken som visas av getfacl kan få en till synes generös post att fungera mer begränsat, vilket är avgörande när en kommandoradsvy jämförs med SMB- eller NFS-beteende.

Kör inte rekursiva chmod-, chown- eller ACL-ersättningar under inventeringen. Spara först utdata från getfacl -p och tjänstekonfigurationen; baslinjen är godkänd när varje klientidentitet kan kopplas till en numerisk identitet på serversidan eller uttryckligen markeras som omappad.

Testa effektiv åtkomst via varje protokoll

Skapa en särskild granskningsanvändare och en temporär katalog under delningen. Från Windows eller macOS via SMB, från en Linux-NFS-klient och från målcontainern testar du listning, läsning, skapande, namnbyte och borttagning separat. Dokumentera ägare, grupp, läge, ACL och använt protokoll efter varje åtgärd.

Håll autentisering och filsystemauktorisering åtskilda. En SMB-inloggning kan lyckas medan den mappade Unix-identiteten saknar skrivbehörighet; en NFS-klient kan presentera ett numeriskt ID som servern accepterar men som löses till fel lokal ägare. Ändra endast en identitets- eller ACL-variabel mellan testerna.

En sökväg är godkänd endast när de observerade rättigheterna överensstämmer med den avsedda åtkomstmatrisen och nyskapade filer får förväntad ägare, grupp och standard-ACL. Om ett protokoll avviker ska du stoppa breda ändringar och spåra protokollets mappningslager innan du ändrar det delade filsystemet.

Inspektera arv, masker och containermappningar

Jämför den överordnade standard-ACL:en med åtkomst-ACL:en på nyskapade filer och kataloger. Kontrollera ACL-masken efter gruppändringar, bekräfta om SMB-tjänsten tillämpar skapande- eller katalogmasker och identifiera program som ersätter filer atomiskt, eftersom en ersättning kan ge ett annat arv än ändringar på plats.

För containrar ska du inspektera körningsanvändaren, kompletterande grupper, ommappning av användarnamnrymder och den bind-monterade värdsökvägen. Den relaterade ZimaSpace-guiden om databasåtkomst på en nätverksmonterad Docker-volym är användbar när NFSv4-namnmappning är det felande lagret; den här granskningen fokuserar fortfarande på att bevisa rättigheterna från början till slut över alla tre vägarna.

Lös inte ett mappningsproblem genom att köra programmet som root. Om containern inte kan skapa den temporära filen ska du anpassa dess stödda UID, GID eller kompletterande grupp till NAS-policyn och upprepa samma test innan du ändrar något produktionsträd.

Tillämpa den snävaste korrigeringen och bevara bevisen

Korrigera ett lager i taget: identitetsmappning först, gruppmedlemskap därefter, ärvda standardvärden sedan och avvikande fil-ACL:er sist. Tillämpa ändringarna på den temporära katalogen, verifiera alla åtgärder igen och förbered först därefter en avgränsad ändring för produktionsträdet med en sparad återställnings-ACL.

Efter utrullningen ska du starta om eller återansluta klienter som cachelagrar autentiseringsuppgifter, montera om NFS där det krävs och endast starta om containrar vars grupplista fastställs när processen startar. Upprepa samma testmatris och verifiera att både befintliga och nya filer beter sig som avsett.

Granskningen är avslutad när varje tillåten och nekad åtgärd överensstämmer med den dokumenterade matrisen, nya objekt ärver korrekt och den sparade ACL:en kan återställa det tidigare tillståndet. Eskalera i stället för att köra rekursivt på måfå när ägarskapet är blandat avsiktligt, ögonblicksbilder eller hårda länkar försvårar återställningen eller NAS-lagringen rapporterar fel.

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.