Les utilisateurs leurs groupes et leurs droits

su : devenir un autre

La commande su (switch user) permet de basculer d'un compte utilisateur à un autre.

Devenir super utilisateur (root)

pierre@machine:~$ su
Mot de passe :
root@machine:/home/pierre# 

Pour redevenir pierre il suffit de presser les touches [CTRL] [D] ou de taper:

root@machine:/home/pierre# su pierre
pierre@machine:~$

Cette fois ci le mot de pas n'est pas redemandé car pierre était déjà connecté, c'est lui qui à demandé à devenir root.

Utilisateurs et groupes

Créer un utilisateur jean

# adduser jean
Ajout de l'utilisateur « jean » ...
Ajout du nouveau groupe « jean » (1001) ...
Ajout du nouvel utilisateur « jean » (1001) avec le groupe « jean » ...
Création du répertoire personnel « /home/jean »...
Copie des fichiers depuis « /etc/skel »...
Entrez le nouveau mot de passe UNIX : 
Retapez le nouveau mot de passe UNIX : 
passwd : le mot de passe a été mis à jour avec succès
Modification des informations relatives à l'utilisateur jean
Entrez la nouvelle valeur ou « Entrée » pour conserver la valeur proposée
Nom complet []: 
N° de bureau []: 
Téléphone professionnel []: 
Téléphone personnel []: 
Autre []: 
Cette information est-elle correcte ? [O/n]

Comme on peut le voir un groupe du nom de l'utilisateur est crée (user jean appartient au groupe jean)

Pour rééditer les informations (N° de bureau, tel ...) utilisez la commande chfn.

Changer le mot de passe de jean

# passwd jean

si le nom n'est pas renseigné c'est le mot de passe root qui est changé.

Supprimer le compte jean

# deluser jean

Supprimer le compte jean, son dossier personnel et tout ce qu'il contient.

 # deluser jean --remove-home

Créer le groupe (vide) ami

# addgroup ami : 

Pour modifier un compte utilisateur on utilisera la commande # usermod [option]
renomme l'utilisateur jean en pierre (pas son répertoire)

# usermod -l pierre jean

place pierre dans le groupe ami.

# usermod -g ami pierre

place un utilisateur dans plusieurs groupes

# usermod -G ami,famille pierre

-aG : comme G mais conserver le ou les groupes dont l'utilisateur fait déjà parti.

Effacer le groupe ami

# delgroup ami 

Rendre pierre propriétaire de fichier

# chown pierre fichier  

Changer le groupe auquel appartient fichier

# chgrp nomgroupe fichier

approprier fichier au groupe ami et a l'utilisateur pierre

# chown pierre:ami fichier 

la même chose mais à tout un répertoire récursivement

# chown -R pierre:ami /home/jean/folder

Pour obtenir les informations sur l'utilisateur courant ou utilisera juste la commande id.
$ id
uid=1000(jean) gid=1000(jean) groupes=1000(jean)

Le fichier passwd

Le fichier /etc/passwd contient tout ce qui concerne la gestion et l'authentification des utilisateurs. Chaque ligne est propre à un utilisateur et comprend 7 champs séparés pas le symbole [:].

Le fichier group

Le fichier /etc/group contient tout ce qui concerne les groupes. Chaque ligne est propre à un groupe et comprend 4 champs séparés pas le symbole [:].

Droits des fichiers et dossiers

Si on lance la commande ls -l on voit quelque chose comme : d rxw rxw rxw

Le premier caractère représente le type de fichier:

viennent ensuite 3 triplets

leur signification est la suivante:

chmod : modifier des droits

Chacune de ces trois lettres à une valeur:

Ainsi rwx r-x r-- peut être calculé (4+2+1) (4+0+1) (4+0+0) qui devient 754

La commande suivante permettra au propriétaire de fichier.txt de le lire et le modifier et au groupe de le lire, les autre utilisateurs n'auront aucun droit.

# chmod 640 fichier.txt

Il est possible d'utiliser chmod différemment, il faut alors savoir que :

et que

Il devient possible de modifier les droits sur fichier.txt de cette manière:

chmod g+w fichier.txt
chmod u+rx fichier.txt
chmod g+w,o-w fichier.txt
chmod go-r fichier.txt
chmod +r fichier.txt

Tout comme chown, chmod peut prendre -R comme paramètre et appliquer les droits récursivement sur un dossier et son contenu.

Astuce: Modifier les droits d'un type sans affecter l'autre

Dans l'exemple suivant on ajoute le droit d'écriture aux répertoires du répertoire courant mais pas aux fichiers.

ls -d */ | xargs chmod +x

La même chose mais pour tout le répertoire "rep_cible" et ses sous répertoires.

find ./rep_cible/ -type d | xargs chmod +x

Inversement on peut modifier les droits uniquement des fichiers mais pas des répertoires

ls -F | grep -v '/$' | xargs chmod 777

Ou si vous préférez exec plutôt que xargs

find rep/ -type d -exec chmod 755 {} \; 
find rep/ -type f -exec chmod 644 {} \;

Ces deux dernières agissent récursivement depuis rep/ inclus.

Liste des utilisateurs

La liste des utilisateurs d'un système est inscrite dans le fichier /etc/passwd

$ cat /etc/passwd

Affichera queque chose comme ça:

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
...

Chaque ligne représente un utilisateur/processus et ses informations, on lira alors:

En savoir plus

linuxpedia

^