Utilisateurs et groupes

Sous Linux, la sécurité du système est en partie gérée par des droits accordés aux utilisateurs et aux groupes.

Les utilisateurs

Les trois principaux types de comptes utilisateur sont :

  • super utilisateur :
    • administre le système (root avec l’UID 0)
  • utilisateur système :
    • utilisés par des processus (démons)
  • utilisateur standard
    • accès limité au système

Processus

La commande ps permet d`afficher les processus. Par défaut seul les processus du shell actuel sont affichés.

L’option -a affiche tous les processus liés à un terminal et -u l’utilisateur associé au processus :

# ps -au
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 4690 0.0 0.0 2202 1052 ttyS0 Ss+ 22:43 0:00 /sbin/agetty -o -p --\u --keep-baud 1
john 4769 0.0 0.1 7373 6844 tty2 Ssl+ 22:45 0:00 /usr/libexec/gdm-xsession--registerjohn
1875 4.3 1.2 528 8737 tty2 Sl+ 22:45 0:03 /usr/libexec/Xorg vt2-displayfd 3 -au
john 4800 0.0 0.3 2515 1982 tty2 Sl+ 22:45 0:00 /usr/libexec/gnomesession-binary
john 4072 0.0 0.0 2242 5756 pts/1 Ss 22:48 0:00 -bash
john 4122 0.0 0.0 2252 3652 pts/1 R+ 22:49 0:00 ps -au

Fichier /etc/passwd

Le fichier /etc/passwd est composé de 7 champs et chaque ligne contient des informations sur un utilisateur :

# cat /etc/passwd
cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
[...]
john:x:1000:1000:This is John The Ripper !:/home/john:/bin/bash

Pour la dernière ligne avec l’utilisateur John :

  • john : login
  • x : mot de passe chiffré
  • 1000 : UID
  • 1000 : GID du groupe principal de l’utilisateur
  • This is John The Ripper ! : Description
  • /home/john : répertoire personnel | initial au démarrage du shell de connexion
  • /bin/bash : programme shell par défaut, s’exécute lors de la connexion

Si /sbin/nologin pour le dernier champs : interdire les connexions interactives.

Les groupes

Un groupe est un ensemble d’utilisateurs et partage l’accès aux fichiers et aux ressources du système, les droits peuvent être gérés globalement directement sur le groupe lui-même.

Fichier /etc/group

Le fichier /etc/group est composé de 4 champs et chaque ligne contient des informations sur un groupe :

cat /etc/group
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
[...]
aggretsuko:x:10006:john,retsuko,washimi,haida

Pour la dernière ligne avec le groupe aggretsuko :

  • aggretsuko : nom du groupe
  • x : mot de passe (obsolète)
  • 10006 : GID
  • john,retsuko,washimi,haida : liste des membres du groupe (groupe supplémentaire)

La commande id montre l’appartenance aux groupe :

# id
uid=1000(john) gid=1000(john) groups=1000(john),10001(ripper),10002(aggretsuko),100003(bruteforce)

⚠️ Résumé des commandes

Commandes :

Commande Effet
id <username> Afficher les informations de username
ps -au -a : processus liés à un terminal, -u : l’utilisateur associé

Fichiers :

Fichiers Descriptions
/etc/passwd Informations sur les utilisateurs locaux
/etc/group Informations sur les groupes

Remarques :

  • root : UID 0
  • group 0 de root : aucun priviliges
  • user system (application, daemons) : pas de shell et UID de 1 à 999
  • user regular avec un shell : UID dessus de 1000
  • UNIX : un groupe contient des user - jamais d’autres groupes

Documentation

MAN sudo(8)
MAN visudo(8)
MAN sudoers(5)

> Partager <