Linux chmod Exempel

I den här snabba handledningen kommer vi att se hur vi kan använda kommandot chmod i en Ubuntu-maskin för att hitta, ändra och ta bort användarbehörigheter från specifika filer som finns i användarens filsystem. Låt oss spela igenom olika förhållanden så att vi kan behärska grundläggande chmod-kommandon som kan göra vår vardag enklare med Ubuntu.

Linuxbehörigheter

Linuxbehörigheter är en stor uppsättning regler som är enkla att förstå om vi fattar de grundläggande rättigheterna. De tre huvudpunkterna som vi måste förstå för att veta hur Linuxbehörigheter fungerar är:

  • Elementet för vilket behörigheterna definierades
  • Vilka åtgärder som kan utföras med en behörighet
  • Vem kan utföra vilka åtgärder

Det finns två grundläggande element i Linux filsystem:

  1. Adresser
  2. Filer

Det finns tre åtgärder som kan utföras:

  1. Läs
  2. Skriv
  3. Exekvera. Förutom att exekvera skript behövs samma åtgärder för att skapa filer och andra mappar i den

Användare som kan utföra dessa åtgärder är:

  1. Filens ägare
  2. Filens ägargrupp
  3. Användare som inte är associerad med ägargruppen eller ägaren själv

För att se behörigheter som är relaterade till en fil, kör följande kommando:

ls -l

Här är vad vi får tillbaka med detta kommando:

Sök behörighet för filer

Sök behörighet för filer

I utmatningen presenterar de första 10 tecknen behörigheten för filen:

  • Första tecknet, som är ”-” i det här fallet, betyder att det är en fil. För en katalog skulle detta ha varit ett ”d”.
  • Nästa nio tecken representerar behörigheter för ägaren, ägarens grupp respektive andra.
  • Ändring av behörigheter

    Syntaxen för att ändra behörigheter för en fil ser ut så här:

    chmod permissions file …

    Oktalrepresentation för behörigheter

    Vi kan presentera behörigheter som ett oktaltal. Om vi till exempel vill ange läs-, skriv- & exekveringsbehörigheter för ägaren, läs- & skrivbehörigheter för gruppen och inga behörigheter för andra för filen hello.txt utför vi följande kommando:

    sudo chmod 760 hello.txt

    När vi utför ovanstående kommando och försöker läsa en fil med ett konto som inte är ägare med följande kommando:

    sudo -u notowner-user more hello.txt

    Vi får följande fel:

    hello.txt: Permission denied

    Men varifrån kommer det här numret? Varje siffra i det numret representerar en uppsättning behörigheter. Låt oss se hur de härstammar:

    • 0: Betyder ingen behörighet
    • 1: Betyder behörighet att utföra
    • 2: Betyder skrivbehörighet
    • 4: Betyder läsbehörighet

    För att tilldela ägaren läs-, skriv- & och exekveringsbehörigheter har vi tilldelat honom siffran 7(= 4 + 2 + 1). Låt oss förstå detta bättre i en siffertabell:

    Nummer Binary Read Write Execute
    0 000 NO NO NO
    1 001 NO NO JA
    2 010 NO JA NEJ
    3 011 NEJ JA JA
    4 100 JA NEJ NEJ
    5 101 JA NEJ JA
    6 110 JA YES NO
    7 111 YES YES YES

    Ovanstående tabell är mycket tydlig när det gäller vad var och en av dem representerar i fråga om filbehörigheter.

    Karakterrepresentation för behörigheter

    Vi kan presentera behörigheter som ett oktaltal. Om vi till exempel vill ställa in läs-, skriv- & exekveringsbehörigheter för ägaren, läs- & skrivbehörigheter för sin grupp och inga behörigheter för andra, för filen hello.txt, utför vi följande kommando:

    sudo chmod u=rwe,g=rw,o-rwx hello.txt

    För att lägga till behörigheter till en befintlig användare kan vi också göra följande:

    sudo chmod g+w hello.txt

    Här tilldelades skrivbehörigheten till användargruppen för ägaren av filen.

    Rekursiva behörighetsändringar

    Vi kan också ändra behörigheter för filer som finns i en specifik katalog med ett enda kommando. Om du vill ändra behörigheterna för alla filer och mappar i en viss katalog på en gång använder du sudo chmod med -R:

    sudo chmod 777 Directory/*

    Vi kan se följande utdata som tydligt återspeglar ändringen av filbehörigheterna:

    Rekursivt ändra filbehörigheter

    Rekursivt ändra filbehörigheter

    Slutsats

    I den här lektionen tittade vi på hur vi kan ändra filbehörigheter och vid behov göra det rekursivt. Vi har förstått de grundläggande begreppen bakom hur Linux behörigheter som kan hjälpa oss mycket i vårt dagliga arbete.

    Lämna en kommentar