# Le propriétaire & groupe (fichier/dossier)

#### Arborescence de démonstration

Pour l'arborescence suivante :

```shell
user@server:~$  ls -al /mnt/demo/
total 5753224
drwxr-xr-x 4 guest guest           4096 14 août  17:14  .
drwxr-xr-x 4 root  root            4096  3 janv.  2022  ..
-rw-r--r-- 1 guest guest             56 14 août  16:16  file-demo.txt
drwxr-xr-x 2 guest guest           4096 28 sept. 11:10  film
drwxr-xr-x 2 guest guest           4096 30 déc.   2021  serie

```

Explication des différents droits sur un fichier/dossier.

```shell
drwxr-xr-x 2 guest guest           4096 28 sept. 11:10  film
```

- \[drwxr-xr-x\] Les 8 premiers caractères représentent les droits sur le fichier (Lecture / Écriture / Exécution)
- \[2\] Le chiffre suivant les 8 premier caractère représente l'équivalent des droits en chiffres
- \[guest\] Le premier **guest** représente le propriétaire du fichier/dossier
- \[guest\] Le deuxième **guest** représente le groupe propriétaire du fichier/dossier

#### La commande `chown`

```shell
chown [OPTION]... [PROPRIO][:GROUPE] FICHIER.
		    --help     		   afficher l''aide et quitter
	    -v, --verbose          afficher un diagnostic pour chaque fichier traité
    	-R, --recursive        opérer récursivement sur les fichiers et répertoires
            --from=PROPRIO_ACTUEL:GROUPE_ACTUEL
                         	   modifier le propriétaire ou le groupe de chaque fichier dont le propriétaire ou le groupe actuel correspondent à ceux indiqués
```

####   


#### Changer le propriétaire d'un fichier/dossier

L'utilisateur **guest** possède les dossiers et fichiers dans le dossier `demo`. Nous voulons changer le propriétaire du fichier `file-demo.txt` pour mettre l'utilisateur **user**. Pour ce faire il suffit de faire la commande suivante en tant que super utilisateur.

```shell
# Pour un fichier 
sudo chown user file-demo.txt

# Pour un dossier même commande mais sur le dossier
sudo chown film
# Pour appliquer le chamgement de propriétaire sur les sous-dossiers
# Rajouter le paramêtre -R ==> (-R, --recursive        operate on files and directories recursively)
sudo chown -R film
```

Par conséquent le propriétaire devient :

```shell
user@server:~$  ls -l f*
-rw-r--r-- 1 user guest             56 14 août  16:16  file-demo.txt
drwxr-xr-x 2 user guest           4096 28 sept. 11:10  film
```

####   


#### Changer le groupe d'un fichier/dossier

Pour changer uniquement le groupe du fichier ou dossier c'est la même commande sauf qu'il faut rajouter `:` devant le nom du groupe. Exemple :

On veut que le fichier appartiennent au groupe **friends**, pour se faire nous allons exécuter la commande suivante.

```shell
chown :friends file-demo.txt
```

Ce qui donne les droits suivants :

```shell
user@server:~$  ls -l *.txt
-rw-r--r-- 1 user friends           56 14 août  16:16  file-demo.txt
drwxr-xr-x 2 user guest           4096 28 sept. 11:10  film
```

#### Changer les deux en même temps

Pour changer le groupe et le propriétaire du fichier / dossier en même temps. Il faut combiner les deux commandes précédentes en une.

Par exemple pour mettre **user** en propriétaire du dossier `serie` et mettre le groupe **friends** pour ce même dossier nous allons faire la commande suivante :

```shell
chown user:friends serie
```

Ce qui donne les droits suivants :

```shell
user@server:~$  ls -l serie
drwxr-xr-x 2 user friends         4096 30 déc. 2021  serie
```