Table des matières

Commandes Linux : Changer le repertoire Home d un utilisateur

La commande usermod permet de modifier un compte utilisateur donc c'est en utilisant usermod que l'on peut modifier le répertoire d'un utilisateur. Contenu du fichier passwd

Voici le contenu du fichier /etc/passwd avant la modification du répertoire home de l'utilisateur pcr :

root@home:~$ cat /etc/passwd
pcr:x:1000:1000:Petitchevalroux:/home/pcr:/bin/bash

Modification du répertoire de home

Création du nouveau répertoire de home :

root@home:~$ mkdir /home/nouvelle_maison_avec_piscine

Changement du propriétaire du nouveau répertoire de home :

root@home:~$ chown pcr:pcr /home/nouvelle_maison_avec_piscine

Modification du compte utilisateur avec usermod :

root@home:~$ usermod -d /home/nouvelle_maison_avec_piscine pcr

Contenu de passwd après modification

root@home:~$ cat /etc/passwd
pcr:x:1000:1000:Petitchevalroux:/home/nouvelle_maison_avec_piscine:/bin/bash

chmod

Changer les permissions sur un fichier ou un répertoire

Pour : Linux

chmod permet de changer les permissions de lecture, d'écriture et d'exécution d'un fichier ou d'un répertoire pour le propriétaire, son groupe et les autres.

Il existe 3 syntaxes différentes pour données des droits, dans les 3 cas le résultat est le même. Syntaxe:

chmod [options] 777 [fichier_ou_répertoire]
chmod [options] +rwx ugo [fichier_ou_répertoire]
chmod [options] rwx rwx rwx [fichier_ou_répertoire]

PS: Vous pouvez modifier les droits sur les fichiers et répertoires seulement si vous êtes le propriétaire du fichier ou si vous disposez des droits “root”.

Comment voir les permissions appliqué sur un fichier ou répertoire?

Pour celà vous devez utiliser la commande “ls” avec l'option “-l”, voir ce tutoriel: ls - Lister et afficher des informations sur les fichiers contenu dans un répertoire

Le principe

Il y à 3 types de permission différentes, le droit de lecture, d'écriture et d'exécution. Et cela peut être définit indépendament au propriétaire du fichier ainsi qu'à son groupe et pour tout les autres.

Le fonctionnement

On va étudier le fonctionnement en mode Octale, le “chmod” est suivi de trois chiffres, chacun d'eux permettent de données des droits sur le propriétaire, le groupe et les autres. Par défault le créateur d'un fichier ou d'un dossier devient automatiquement le propriétaire mais il est possible de le changer voir ce tutoriel: chown - Changer le propriétaire et le groupe d'un fichier ou dossier en ligne de commande

chmod 756 [fichier_ou_répertoire] Le chiffre de gauche (7) donne les permissions au propriétaire Le chiffre du centre (5) donne les permissions au groupe Le chiffre de droite (6) donne les permissions a tout les autres utilisateurs

Mais que signifie ces chiffres? Chaque permissions disposent d'une valeur différentes. La lecture = 4 L'écriture = 2 L'exécution = 1

Par exemple pour donner le droit de lecture et d'exécution on va respectivement additionner 4 + 1 = 5 Et si on fait un “chmod 555 [fichier_ou_répertoire]” cela aura pour éffet de mettre le droit de lecture et d'exécution au propriétaire, au groupe et aux autres.

Autre exemple si on veut donner tout les droits au propriétaire d'un fichier, donc la possibilité de lire, écrire et d'exécuter on va respectivement additionner 4 + 2 + 1 = 7. Et donner on va donner que le droit de lecture au groupe et au autre, donc la lecture = 4. Celà donne comme commande final: chmod 744 [fichier_ou_répertoire]

La récursivité d'un dossier avec l'option “-R” (MAJUSCULE)

L'option “-R” (MAJUSCULE) permet d'appliquer les droits sur tout les fichiers et dossiers enfants contenu dans un répertoire.

Syntaxe:

chmod XXX -R [fichier_ou_répertoire]

groupes sous linux

Si on utilise la commande suivante, le groupe principal de l’utilisateur est modifié :

#usermod -G le_groupe mon_utilisateur

L’utilisateur « mon_utilisateur » appartient au groupe « le_groupe ».

Pour ajouter l’utilisateur à un groupe secondaire, il faut utiliser la commande :

#usermod -G le_groupe -a mon_utilisateur

L’utilisateur « mon_utilisateur » appartient garde son groupe principal ET au groupe « le_groupe ».

Lister les groupes sous linux

Afficher les utilisateurs :

cat /etc/passwd | awk -F: '{print $1}'

Afficher les groupes :

cat /etc/group | awk -F: '{print $1}'

Afficher les groupes dont fait parti un utilisateur

Dans un Terminal :

grep "pi" /etc/group

Cette commande affiche les groupes dont l’utilisateur pi fait parti. Remplacez pi par l’utilisateur de votre choix. Afficher les utilisateurs présents dans un groupe

C’est la même commande que ci-dessus, sauf qu’on remplace le nom d’un utilisateur par le nom du groupe en quesion :

grep "www-data" /etc/group