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 3 types de comptes utilisateurs sont :

  • super utilisateur :
    • administre le système (root avec l’UID 0)
  • utilisateur système :
    • utilisés par des processus (daemons)
  • 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 et 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 :

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

Fichiers :

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

Remarques :

  • root : UID 0
  • group root : UID 0 et aucun privilège
  • system user (applications, daemons) : pas de shell et UID de 1 à 999
  • regular user : UID dessus de 1000 et possède un shell
  • Sous UNIX : un groupe contient des users et jamais d’autres groupes

Documentation

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

> Partager <