# Filrättigheter
```
author: krm
created: 2022-10-03
status: alpha
```

# 👁️‍🗨️ Om Filrättigheter

Detta är kanske det mest kompliserade samling av kommandot som vi går igenom.

- 🔗 [Alternativ guide](http://www.computerhope.com/unix/uchmod.htm)

# 🤔 Hur kan vi skydda våra filer?

Genom att ge dem rätt rättigheter.

# Filrättigheter

I linux och andra POSIX system har varje fil och varje mapp 
“permissions”. Vidare har varje file en ägare och en grupp som den 
tillhör.

# Kategorier

Det finns tre olika kategori för permissions:

- **owner**			Vilka rättigheter som ägaren har till sin fil.
- **group**			Är vilka rättigheter din grupp har till filen.
- **other user**	Är vilka rättigheter alla andra som inte äger filen 
heller är medlemmar av filens grupp har för rättighet.

## Vilken kategori?

- **u**		står för ägaren av filen eller mappen-
- **g**		för gruppen av filen eller mappen
- **o**		för alla andra.
- **a**		för alla

# Rättigheter för varje kategori

Varje kategori kan sedan ha kombination av följande rättigheter:

- **läs** 
- **skriv**
- **exekverbar**		vilket också kallas körbar

## Vilken rättighet?

- **r** eller **4**		står för läsrättigheter.
- **w** eller **2**		står för skrivrättigheter.
- **x** eller **1** 	står för exekverbar, det vill säga att du kan köra filen.

# Exempel på rättighet

Så till exempel skulle en ägare av filen både kunna läsa och skriva 
till filen, medlemmar av gruppen skulle kunna läsa den och övriga 
användare skulle inte få göra någonting alls.

# Mer exempel

Men vi skulle också har konstiga rättigheter på en film såsom att 
en ägare skulle kunna exekvera filen, gruppen medlemmar skulle kunna 
läsa filen och alla andra skulle både kunna läsa och skriva till 
filen. Men sådan rättigheter skulle man inte ha så stor nytta av.

# Komandon

För att förstå dessa kommandon behöver du först titta på sektion 
Filrättigheter för att förstå dessa kommandon. chown använd för 
att ändra ägare till en fil och chgrp för att ändra vilken grupp en 
fil tillhör.

# 🛠️ chmod

chmod ändrar rättigheterna och har fler funktioner. Den har två 
olika syntaxer. Den enklaste syntaxen att lära sig låter man 
bokstäver symbolisera de olika rättigheterna och användar kategorierna.

# chmod

Ändrar rättigheterna på en fil eller flera.

## Möjliga förändring

- **\+** 	för att lägga till en rättighet
- **\-** 	för att ta bort en rättighet
- **=**	för att sätta rättigheten lika med.

## Exempel

```sh
chmod u=rw,g+r,o-rw hemligt.txt
```

# 🛠️ chown

Ändrar vilken användare som äger en fil.

# 🛠️ chgpr 

Ändrar vilken grupp som filen tillhör.


