sv.phhsnews.com


sv.phhsnews.com / Hur fungerar Linux-filtillstånd?

Hur fungerar Linux-filtillstånd?


Om du har använt Linux någon gång (och även OS X) har du förmodligen kommit över ett "behörighetsfel". Men vad exakt är de, och varför är de nödvändiga eller användbara? Låt oss ta en inblick.

Användarbehörigheter

Tidigare var datorer massiva maskiner som var otroligt dyra. För att få ut det mesta av varandra var flera datorterminaler anslutna vilket gjorde det möjligt för många användare att gå om sin verksamhet samtidigt. Databehandling och lagring gjordes på maskinen, medan terminalerna själva var lite mer än ett medel för visning och inmatning av data. Om du funderar på det, är det ganska mycket hur vi får tillgång till data på "molnet"; titta på Amazons Cloud MP3-system, Gmail och Dropbox, och det kommer du att märka att medan ändringar kan göras lokalt lagras allting på distans.

(Bild: Zenith Z-19 "dumma" terminal; kredit: ajmexico)

För att detta ska fungera måste enskilda användare ha konton. De måste ha en del av lagringsutrymmet som tilldelas dem, och de måste ha tillåtelse att köra kommandon och program. Alla får specifika "användarbehörigheter", vilket dikterar vad de kan och inte kan göra, var på systemet de gör och inte har tillgång, och vars filer de kan och inte kan ändra. Varje användare är också placerad i olika grupper, som beviljar eller begränsar ytterligare åtkomst.

Filåtkomst

I den här spridda användarvärlden har vi redan ställt gränser för vad användare kan göra. Men vad sägs om vad de har tillgång till? Tja, varje fil har en uppsättning behörigheter och en ägare. Ägaren beteckningen, som vanligtvis är bunden när filen skapas, förklarar vilken användare den tillhör, och endast den användaren kan ändra sina behörigheter.

I Linux-världen är behörigheter uppdelade i tre kategorier: läs, skriv och Kör. Med "Read" -åtkomst kan man se en fils innehåll. Med "skriv" -åtkomst kan man ändra en fils innehåll och "exekvera" låter en köra en uppsättning instruktioner, som ett skript eller ett program. Var och en av dessa kategorier tillämpas på olika klasser: användare, grupp och värld. "Användare" betyder ägaren, "grupp" betyder en användare som är i samma grupp som ägaren, och "värld" betyder någon och alla.

Mappar kan också begränsas med dessa behörigheter. Du kan till exempel låta andra personer i din grupp visa kataloger och filer i din hemmapp, men inte någon utanför din grupp. Du kommer noga att begränsa "skriv" tillgång till dig själv, om du inte arbetar på ett delat projekt av något slag. Du kan också skapa en delad katalog som gör det möjligt för någon att visa och ändra filer i den mappen.

Ändra behörigheter i Ubuntu

GUI

För att ändra behörigheterna för en fil du äger i Ubuntu, högerklickar du bara på fil och gå till "Egenskaper".

Du kan ändra om ägaren, gruppen eller andra kan läsa och skriva, läsa bara eller göra ingenting. Du kan också kolla en ruta för att tillåta körning av filen, och det gör det möjligt för ägaren, gruppen och andra samtidigt.

Kommandorad

Du kan också göra det via kommandoraden. Gå till en katalog med filer i den och skriv följande kommando för att se alla filer i en lista:

ls -al

Vid sidan av varje fil och katalog ser du en särskild sektion som beskriver behörigheterna har. Det ser ut så här:

-rwxrw-r-

r står för "läs", w står för "skriv" och x står för "execute." Kataloger börjar med en "d" istället för en "-". Du märker också att det finns 10 mellanslag som håller värdet. Du kan ignorera det första, och då finns det 3 uppsättningar av 3. Den första uppsättningen är för ägaren, den andra uppsättningen är för gruppen, och den sista uppsättningen är för världen.

Ändra en fil eller katalogens behörigheter , låt oss titta på den grundläggande formen av chmod-kommandot.

chmod [klass] [operatör] [tillstånd] fil

chmod [ugoa] [+ eller -] [rwx] -fil

Det kan tyckas komplicerat först, men lita på mig, det är ganska enkelt. Låt oss först titta på klasserna:

  • u: Detta är för ägaren.
  • g: Detta gäller gruppen.
  • o: Detta gäller för alla andra.
  • a: Detta kommer att ändra behörigheter

Nästa: Operatörerna:

  • +: Plustecknet lägger till de behörigheter som följer.
  • -: Minustecknet tar bort behörigheterna som följer.

Fortfarande med mig ? Och det sista avsnittet är detsamma som när vi kontrollerade behörigheterna för en fil:

  • r: Tillåter läsåtkomst.
  • w: Tillåter skrivåtkomst.
  • x: Tillåt exekvering.

Låt oss nu sätta det tillsammans. Låt oss säga att vi har en fil med namnet "todo.txt" som har följande behörigheter:

-rw-rw-r-

Det vill säga att ägaren och gruppen kan läsa och skriva, och världen kan bara läsa. Vi vill ändra behörigheterna till dessa:

-rwxr-

Det vill säga att ägaren har fullständiga behörigheter och gruppen kan läsa. Vi kan göra det i tre steg. Först lägger vi till exekveringsbehörigheten för användaren.

chmod u + x todo.txt

Då tar vi bort skrivtillståndet för gruppen.

chmod gw todo.txt

Slutligen tar vi bort läsbehörigheterna för alla andra användare.

chmod eller todo.txt

Vi kan också kombinera dessa i ett kommando, som så:

chmod u + x, gw eller todo. txt

Du kan se att varje sektion är åtskild med kommatecken och det finns inga mellanslag.

Här är några användbara behörigheter:

  • -rwxr-xr-x: Ägaren har fullständiga behörigheter, grupp och andra användare kan läsa
  • -rwxr-r-: Ägaren har fullständiga behörigheter, grupp och andra användare kan bara läsa filen (användbar om du inte har något emot andra som tittar på dina filer.
  • -rwx-: Ägaren är full behörigheter, alla andra har ingen (användbar för personliga skript).
  • -rw-rw--: Ägare och grupp kan läsa och skriva (användbart för samarbete med gruppmedlemmar).
  • -rw-rr-: Ägare kan läs och skriv, grupp och andra användare kan bara läsa filen (användbar för att lagra personlig fi les på ett gemensamt nätverk).
  • -rw--: Ägaren kan läsa och skriva, alla andra har ingen (användbar för att lagra personliga filer).

Det finns några andra saker du kan göra med chmod-liknande setuid och setgid - men de är lite djupgående och de flesta användare behöver egentligen inte använda dem ändå.

Root eller Super-User och System Files

Idag driver vi inte alltid system som har flera användare. Varför borde vi fortfarande oroa sig för behörigheter?

Jo, Unix och dess derivat - bland annat Linux, OS X - skilja också på saker som drivs av användaren, saker som drivs av en administratör eller med administratörsbehörighet och saker som drivs av systemet självt. Som sådant måste saker som är integrerade för systemet ha administratörsbehörighet att ändras eller nås. På så sätt förstör du inte något av misstag.

I Ubuntu, för att göra ändringar i systemfiler använder du "sudo" eller "gksudo" för att få motsvarande administratörsbehörighet. I andra distros växlar du till "root" eller "super-user" som effektivt gör samma sak tills du loggar ut.

Var medveten om att under båda dessa omständigheter kan ändringar av filbehörigheter leda till att program inte fungerar, oavsiktligt ändra filägandet till root-användaren (istället för ägaren) och göra systemet mindre säkert (genom att ge fler behörigheter). Som sådan rekommenderas att du inte ändrar behörigheter för filer - speciellt systemfiler - om det inte är nödvändigt eller du vet vad du gör.


Filbehörigheter finns på plats för att ge ett grundläggande säkerhetssystem bland användare. Att lära sig hur de fungerar kan hjälpa dig att skapa grundläggande delning i en miljö med flera användare, skydda "offentliga" filer och ge dig en aning om något går fel med systemfilens ägande.

Tänk på att du kan förklara det lättare? Har en rättelse? Vill du påminna om de gamla dagarna? Ta en paus och lägg ner dina tankar i kommentarerna.


De bästa nya funktionerna i Android 7.0

De bästa nya funktionerna i Android 7.0 "Nougat"

Android 7.0 Nougat är äntligen här, och Nexus-användare börjar snart få uppdateringarna. Här är de coolaste funktionerna i den senaste versionen av Android. Just nu ska uppdateringen rullas ut till Nexus 6, Nexus 5X, Nexus 6P och Nexus 9, samt Nexus Player, Pixel C och General Mobil 4G. Vi har använt förhandsgranskningen sedan den först kom ut, och vi diskuterar hur du använder några av de bästa funktionerna mer detaljerat, men nu är det en smak av de bästa sakerna i Android 7.

(how-to)

Hur man kontrollerar din Smarthome med din Pebble Smartwatch

Hur man kontrollerar din Smarthome med din Pebble Smartwatch

Du behöver inte möjlighet att slå på och stänga av dina lampor, justera termostaten eller låsa upp dörren från din armbandsur men det är det 21: a århundradet och med lite hjälp från ett hemautomationsnav och en smartwatch som du kan leva som framtiden är nu. Läs vidare när vi visar dig hur du ska styra ditt hem med din sten.

(how-to)