Linux

Förstå Linux-filtillstånd

Förstå Linux-filtillstånd

I Linux styr filbehörigheter, attribut och ägande åtkomstnivån som systemet bearbetar och användare har till filer. Detta säkerställer att endast behöriga användare och processer kan komma åt specifika filer och kataloger.

Linux-filbehörigheter #

Den grundläggande Linux-behörighetsmodellen fungerar genom att associera varje systemfil till en ägare och en grupp och tilldela behörighetsåtkomsträttigheter för tre olika klasser av användare:

Filägarskap kan ändras med chown och chgrp kommandon.

Tre typer av filbehörigheter gäller för varje användarklass:

Med detta koncept kan du kontrollera vilka användare som kan läsa filen, skriva till filen eller köra filen.

Om du vill visa filbehörigheterna använder du ls kommando:

ls -l filnamn
-rw-r - r-- 12 Linux-användare 12.0K 28 april 10:10 filnamn | [-] [-] [-] - [------] [---] | | | | | | | | | | | | | + -----------> 7. Grupp | | | | | + -------------------> 6. Ägare | | | | + --------------------------> 5. Alternativ åtkomstmetod | | | + ----------------------------> 4. Övriga tillstånd | | + -------------------------------> 3. Grupptillstånd | + ----------------------------------> 2. Ägartillstånd + ------------------------------------> 1. Filtyp 

Det första tecknet anger filtypen. Det kan vara en vanlig fil (-), katalog (d), en symbolisk länk (l) eller andra speciella typer av filer. Följande nio tecken representerar filbehörigheterna, tre tripletter med tre tecken vardera. Den första tripletten visar ägarbehörigheterna, den andra gruppbehörigheterna och den sista tripletten visar alla andra behörigheter.

I exemplet ovan (rw-r - r--) betyder att filägaren har läs- och skrivbehörighet (rw-), gruppen och andra har bara läsbehörigheter (r--).

Filbehörigheter har olika betydelse beroende på filtyp.

Var och en av de tre behörighetstripletterna kan konstrueras av följande tecken och ha olika effekter, beroende på om de är inställda på en fil eller en katalog:

Effekt av behörigheter för filer

LovKaraktärBetydelse i filen
Läsa-Filen är inte läsbar. Du kan inte visa filinnehållet.
rFilen är läsbar.
Skriva-Filen kan inte ändras eller ändras.
wFilen kan ändras eller ändras.
Kör-Filen kan inte köras.
xFilen kan köras.
sOm den finns i användare triplett, det ställer in setuid bit. Om den finns i grupp triplett, det ställer in setgid bit. Det betyder också att x flaggan är inställd.
När setuid eller setgid flaggor ställs in på en körbar fil, filen körs med filens ägare och / eller gruppbehörighet.
SSamma som s, men x flaggan är inte inställd. Denna flagga används sällan på filer.
tOm den finns i andra triplett, det ställer in klibbig bit.
Det betyder också att x flaggan är inställd. Denna flagga är värdelös på filer.
TSamma som, t men x flaggan är inte inställd. Denna flagga är värdelös på filer.

Effekt av behörigheter på kataloger (mappar)

Kataloger är speciella typer av filer som kan innehålla andra filer och kataloger.

LovKaraktärBetydelse i katalogen
Läsa-Katalogens innehåll kan inte visas.
rKatalogens innehåll kan visas.
(e.g., Du kan lista filer i katalogen med ls.)
Skriva-Katalogens innehåll kan inte ändras.
wKatalogens innehåll kan ändras.
(e.g., Du kan skapa nya filer, radera filer ... etc.)
Kör-Katalogen kan inte ändras till.
xKatalogen kan navigeras med CD.
sOm den finns i användare triplett, det ställer in setuid bit. Om den finns i grupp triplett ställer den in setgid bit. Det betyder också att x flaggan är inställd. När setgid flaggan ställs in i en katalog, de nya filerna som skapas inom den ärver kataloggrupp-ID (GID) istället för det primära grupp-ID för användaren som skapade filen.
setuid har ingen effekt på kataloger.
SSamma som s, men x flaggan är inte inställd. Denna flagga är värdelös i kataloger.
tOm den finns i andra triplett, det ställer in klibbig bit.
Det betyder också att x flaggan är inställd. När den klibbiga biten är inställd på en katalog kan bara filens ägare, katalogens ägare eller den administrativa användaren ta bort eller byta namn på filerna i katalogen.
TSamma som t, men x flaggan är inte inställd. Denna flagga är värdelös i kataloger.

Ändrar filbehörigheter #

Filbehörigheterna kan ändras med chmod kommando. Endast root, filägaren eller användare med sudo-behörigheter kan ändra behörigheterna för en fil. Var extra försiktig när du använder chmod, speciellt när rekursivt ändras behörigheter. Kommandot kan acceptera en eller flera filer och / eller kataloger åtskilda av mellanslag som argument.

Behörigheter kan anges i ett symboliskt läge, numeriskt läge eller en referensfil.

Symbolisk (text) metod #

Syntaxen för chmod kommandot när du använder symboliskt läge har följande format:

chmod [ALTERNATIV] [ugoa ...] [- + =] perms ... [,…] FIL .. 

Den första uppsättningen flaggor ([ugoa ...]), användarnas flaggor, definierar användarnas klasser för vilka behörigheterna till filen ändras.

När användarnas flagga utelämnas är den som standard a.

Den andra uppsättningen flaggor ([- + =]), operationens flaggor, definierar om behörigheterna ska tas bort, läggas till eller ställas in:

Behörigheterna (perms .. ) anges uttryckligen med antingen noll eller en eller flera av följande bokstäver: r, w, x, X, s, och t. Använd en enda bokstav från uppsättningen u, g, och o när du kopierar behörigheter från en till en annan användares klass.

När du ställer in behörigheter för mer än en användarklass ([,…]), använd kommatecken (utan mellanslag) för att separera de symboliska lägena.

Här är några exempel på hur du använder chmod kommando i symboliskt läge:

Numerisk metod #

Syntaxen för chmod kommandot när du använder symboliskt läge har följande format:

chmod [ALTERNATIV] NUMMERFIL .. 

När du använder det numeriska läget kan du ställa in behörigheterna för alla tre användarklasserna (ägare, grupp och alla andra) samtidigt.

Behörighetsnumret kan bestå av tre eller fyra siffror. När tre siffror används, representerar den första siffran behörigheterna för filens ägare, den andra filens grupp och den sista alla andra användare.

Varje skriv-, läs- och körbehörighet har följande talvärde:

Behörighetsnumret för en specifik användarklass representeras av summan av värdena för behörigheterna för den gruppen.

För att ta reda på filens behörigheter i numeriskt läge, beräknar du helt enkelt summan för alla användares klasser. Till exempel, för att ge läs-, skriv- och körbehörighet till filens ägare, läs och kör behörigheter till filens grupp och endast läsbehörigheter till alla andra användare, gör du följande:

Med metoden ovan kommer vi upp till siffran 754, som representerar de önskade behörigheterna.

För att ställa in setuid, setgid, och klibbig bit flaggor, använd fyra siffror.

När de fyra siffrorna används har den första siffran följande betydelse:

De följande tre siffrorna har samma betydelse som när du använder tre siffror.

Om den första siffran är 0 kan den utelämnas och läget kan representeras med tre siffror. Det numeriska läget 0755 är det samma som 755.

För att beräkna det numeriska läget kan du också använda en annan metod (binär metod), men det är lite mer komplicerat. Att veta hur man beräknar det numeriska läget med 4, 2 och 1 är tillräckligt för de flesta användare.

Du kan kontrollera filens behörigheter i den numeriska notationen med hjälp av statistik kommando:

stat -c "% a" filnamn 

Här är några exempel på hur du använder chmod kommando i numeriskt läge:

Slutsats #

I Linux är åtkomst till filerna begränsad med filbehörigheter, attribut och ägande. För att ändra filens behörigheter använder du chmod kommando.

Om du har några frågor eller feedback, lämna gärna en kommentar.

OpenTTD vs Simutrans
Att skapa din egen transportsimulering kan vara rolig, avkopplande och extremt lockande. Det är därför du måste se till att du testar så många spel so...
OpenTTD-handledning
OpenTTD är ett av de mest populära affärssimuleringsspelen där ute. I det här spelet måste du skapa en underbar transportaffär. Du kommer dock att bör...
SuperTuxKart för Linux
SuperTuxKart är en fantastisk titel som är utformad för att ge dig Mario Kart-upplevelsen gratis på ditt Linux-system. Det är ganska utmanande och rol...