annonser

i det här kapitlet kommer vi att diskutera i detalj om filtillstånd och åtkomstlägen i Unix. Filägande är en viktig del av Unix som ger en säker metod för att lagra filer., Varje fil i Unix har följande attribut −

  • Ägarbehörigheter − ägarens behörigheter avgör vilka åtgärder ägaren av filen kan utföra på filen.

  • gruppbehörigheter-gruppens behörigheter avgör vilka åtgärder en användare, som är medlem i gruppen som en fil tillhör, kan utföra på filen.

  • andra (world) behörigheter − behörigheterna för andra anger vilken åtgärd alla andra användare kan utföra på filen.,

Behörighetsindikatorerna

När du använder kommandot ls-l visas olika uppgifter relaterade till filbehörighet enligt följande −

$ls -l /home/amrood-rwxr-xr-- 1 amrood users 1024 Nov 2 00:10 myfiledrwxr-xr--- 1 amrood users 1024 Nov 2 00:10 mydir

här representerar den första kolumnen olika åtkomstlägen, dvs. behörigheten som är associerad med en fil eller en katalog.

behörigheterna är uppdelade i grupper om treor, och varje position i gruppen anger ett specifikt tillstånd, i denna ordning: Läs (r), skriv (w), kör (x) −

Filåtkomstlägen

behörigheterna för en fil är den första försvarslinjen i säkerheten för ett Unix-system., De grundläggande byggstenarna i Unix-behörigheter är läs−, skriv-och körbehörigheterna, som har beskrivits nedan –

Läs

ger möjlighet att läsa, dvs visa innehållet i filen.

Write

ger möjlighet att ändra eller ta bort innehållet i filen.

kör

användare med körbehörigheter kan köra en fil som ett program.

Katalogåtkomstlägen

Katalogåtkomstlägen listas och organiseras på samma sätt som alla andra filer., Det finns några skillnader som måste nämnas −

Läs

åtkomst till en katalog innebär att användaren kan läsa innehållet. Användaren kan titta på filnamnen i katalogen.

skriv

åtkomst innebär att användaren kan lägga till eller ta bort filer från katalogen.

kör

det är inte riktigt meningsfullt att köra en katalog, så tänk på detta som en traversbehörighet.

en användare måste ha exekvera åtkomst till bin-katalogen för att kunna köra kommandot ls eller cd.,

ändra behörigheter

om du vill ändra filen eller katalogbehörigheterna använder du kommandot chmod (change mode). Det finns två sätt att använda chmod — det symboliska läget och det absoluta läget.

använda chmod i symboliskt läge

det enklaste sättet för en nybörjare att ändra fil-eller katalogbehörigheter är att använda det symboliska läget. Med symboliska behörigheter kan du lägga till, ta bort eller ange den behörighetsuppsättning du vill ha genom att använda operatörerna i följande tabell.

Sr.No. – herr talman!, chmod-operatör& beskrivning
1

+

lägger till de angivna tillstånden i en fil eller katalog.

2

tar bort de angivna behörigheterna från en fil eller katalog.

3

=

ställer in de angivna tillstånden.

här är ett exempel med testfile., Att köra ls -1 på testfilen visar att filens behörigheter är följande −

$ls -l testfile-rwxrwxr-- 1 amrood users 1024 Nov 2 00:10 testfile

då körs varje exempel chmod –kommando från föregående tabell på testfilen, följt av ls −l, så att du kan se behörighetsändringarna −

Så här kan du kombinera dessa kommandon på en enda rad –

$chmod o+wx,u-x,g = rx testfile$ls -l testfile-rw-r-xrwx 1 amrood users 1024 Nov 2 00:10 testfile

med hjälp av ls-l, chmod med absoluta behörigheter

det andra sättet att ändra behörigheter med kommandot chmod är att använda ett nummer för att ange varje uppsättning behörigheter för filen.,

varje behörighet tilldelas ett värde, som följande tabell visar, och summan av varje uppsättning behörigheter ger ett nummer för den uppsättningen.

här är ett exempel med hjälp av testfilen. Kör ls -1 på testfilen visar att filens behörigheter är följande −

$ls -l testfile-rwxrwxr-- 1 amrood users 1024 Nov 2 00:10 testfile

då körs varje exempel chmod –kommando från föregående tabell på testfilen, följt av ls −l, så att du kan se behörighetsändringarna –

Ändra ägare och grupper

När du skapar ett konto på Unix tilldelar det ett ägar-ID och ett grupp-ID till varje användare., Alla behörigheter som nämns ovan tilldelas också baserat på ägaren och grupperna.

två kommandon är tillgängliga för att ändra ägaren och gruppen av filer −

  • chown − kommandot chown står för ”Ändra ägare” och används för att ändra ägaren till en fil.

  • chgrp − kommandot chgrp står för ”ändra grupp” och används för att ändra gruppen av en fil.

ändra äganderätt

kommandot chown ändrar äganderätten till en fil., Den grundläggande syntaxen är som följer −

$ chown user filelist

värdet på användaren kan vara antingen namnet på en användare på systemet eller användar-id (uid) för en användare på systemet.

följande exempel hjälper dig att förstå konceptet –

$ chown amrood testfile$

ändrar ägaren till den givna filen till användaren amrood.

OBS! superanvändaren root har obegränsad förmåga att ändra äganderätten till en fil, men vanliga användare kan ändra äganderätten till endast de filer som de äger.,

ändra Gruppägande

kommandot chgrp ändrar gruppägandet för en fil. Den grundläggande syntaxen är som följer −

$ chgrp group filelist

värdet på gruppen kan vara namnet på en grupp på systemet eller grupp-ID (GID) för en grupp på systemet.

Följande exempel hjälper dig att förstå konceptet –

$ chgrp special testfile$

ändrar gruppen av den givna filen till specialgrupp.

SUID-och Sgid-Filbehörighet

ofta när ett kommando körs måste det utföras med särskilda privilegier för att utföra sin uppgift.,

som ett exempel, när du ändrar ditt lösenord med kommandot passwd, lagras ditt nya lösenord i filen /etc/shadow.

som vanlig användare har du inte läst eller skrivit åtkomst till den här filen av säkerhetsskäl, men när du ändrar ditt lösenord måste du ha skrivbehörighet till den här filen. Det betyder att passwd-programmet måste ge dig ytterligare behörigheter så att du kan skriva till filen /etc/shadow.

ytterligare behörigheter ges till program via en mekanism som kallas Set User ID (SUID) och Set Group ID (SGID) bitar.,

När du kör ett program som har SUID-biten aktiverad ärver du behörigheterna för programmets ägare. Program som inte har SUID bit set körs med behörigheterna för användaren som startade programmet.

detta är fallet med SGID också. Normalt körs program med dina gruppbehörigheter, men istället ändras din grupp bara för det här programmet till programmets gruppägare.

SUID-och sgid-bitarna visas som bokstaven ” s ” om behörigheten är tillgänglig., SUID ” s ” – biten kommer att ligga i behörighetsbitarna där ägarens exekveringsbehörighet normalt finns.

till exempel visar kommandot −

$ ls -l /usr/bin/passwd-r-sr-xr-x 1 root bin 19031 Feb 7 13:47 /usr/bin/passwd*$

att SUID-biten är inställd och att kommandot ägs av roten. En bokstav S i exekveringsläget i stället för en liten bokstav s indikerar att exekveringsbiten inte är inställd.,

om den klibbiga biten är aktiverad i katalogen kan filer bara tas bort om du är en av följande användare −

  • ägaren till den klibbiga katalogen
  • ägaren till filen som tas bort
  • superanvändaren, root

för att ställa in SUID −och SGID-bitarna för en katalog prova följande kommando –

$ chmod ug+s dirname$ ls -ldrwsr-sr-x 2 root root 4096 Jun 19 06:45 dirname$
$ chmod ug+s dirname$ ls -ldrwsr-sr-x 2 root root 4096 Jun 19 06:45 dirname$
annonser