I den här snabbhandledningen kommer vi att se hur vi kan använda chmod kommando i en Ubuntu-maskin för att hitta, modifiera och ta bort användarbehörigheter från specifika filer som finns i användarens filsystem. Låt oss spela genom olika förhållanden så att vi kan behärska grundläggande chmod kommandon som kan göra vår vardag enklare med Ubuntu.
Linux-behörigheter
Linux-behörigheter är en stor uppsättning regler som är enkla att förstå om vi förstår grunderna. De tre huvudpunkterna som vi måste förstå för att veta hur Linux-behörigheter fungerar är:
- Elementet för vilket behörigheterna definierades
- Vilka åtgärder kan utföras med tillstånd
- Vem kan utföra vilka åtgärder
Det finns två grundläggande element i Linux Filesystem:
- Kataloger
- Filer
Det finns tre åtgärder som kan utföras:
- Läsa
- Skriva
- Kör. Förutom att köra skript krävs samma åtgärder för att skapa filer och andra mappar i den
Användare som kan utföra dessa åtgärder är:
- Ägare av filen
- Grupp av filens ägare
- Användare som inte är associerade med ägargruppen eller själva ägaren
Kör följande kommando för att se behörigheter relaterade till en fil:
ls -lHär är vad vi får tillbaka med det här kommandot:
Hitta behörighet för filer
I utdata presenterar de första tio tecknen behörigheten för filen:
- Första tecknet, som i detta fall är '-' betyder att det här är en fil. För en katalog skulle detta ha varit en 'd'.
- Nästa nio tecken representerar behörigheter för ägaren respektive gruppens ägare.
Ändrar behörigheter
Syntax för att ändra tillstånd för en fil ser ut som:
chmod behörighetsfil [fil 2] ..Oktal representation för tillstånd
Vi kan presentera behörigheter som ett oktalt tal. Till exempel, för att ställa in läs-, skriv- och exekveringsbehörigheter för ägaren, läs- och skrivbehörigheter för sin grupp, och inget tillstånd för andra, till hej.txt-fil kommer vi att utföra följande kommando:
sudo chmod 760 hej.TextNär vi kört ovanstående kommando och försöker läsa en fil med ett icke-ägarkonto med följande kommando:
sudo -u notowner-user mer hej.TextVi får följande fel:
Hej.txt: Tillstånd nekadMen var kommer detta nummer från? Varje siffra i det numret representerar en uppsättning behörigheter. Låt oss se hur de härleddes:
- 0: Betyder inget tillstånd
- 1: Betecknar Kör lov
- 2: Betecknar skriva lov
- 4: Betecknar läsa lov
För att tilldela läs-, skriv- och exekveringsbehörigheter för ägaren tilldelade vi honom numret 7 (= 4 + 2 + 1). Låt oss bättre förstå detta i en tabell över siffror:
siffra | Binär | Läsa | Skriva | Kör |
0 | 000 | NEJ | NEJ | NEJ |
1 | 001 | NEJ | NEJ | JA |
2 | 010 | NEJ | JA | NEJ |
3 | 011 | NEJ | JA | JA |
4 | 100 | JA | NEJ | NEJ |
5 | 101 | JA | NEJ | JA |
6 | 110 | JA | JA | NEJ |
7 | 111 | JA | JA | JA |
Ovanstående tabell är mycket tydlig i vad varje representerar när det gäller filbehörigheter.
Teckenrepresentation för tillstånd
Vi kan presentera behörigheter som ett oktalt tal. Till exempel, för att ställa in läs-, skriv- och exekveringsbehörigheter för ägaren, läs- och skrivbehörigheter för sin grupp, och inget tillstånd för andra, till hej.txt-fil kommer vi att utföra följande kommando:
sudo chmod u = rwe, g = rw, o-rwx hej.TextFör att lägga till behörigheter till en befintlig användare kan vi också göra:
sudo chmod g + w hej.TextHär tilldelades skrivbehörigheten till användargruppen för filens ägare.
Rekursiva tillståndsförändringar
Vi kan också ändra behörigheter för filer som finns i en viss katalog med ett enda kommando. För att ändra behörigheterna för varje fil och mapp i en given katalog samtidigt, använd sudo chmod med -R:
sudo chmod 777 katalog / *Vi kan se följande utdata som tydligt återspeglar förändringen i filbehörigheter:
Ändrar filbehörigheter rekursivt
Slutsats
I den här lektionen tittade vi på hur vi kan ändra filtillstånd och om det behövs gör vi det rekursivt. Vi förstod grundläggande begrepp bakom hur Linux-behörigheter som kan hjälpa oss i vårt dagliga arbete mycket.