Qui
A la base d'un système de sécurité est la notion d'identité. Il faut d'abord savoir qui vous êtes avant de valider si vous avez accès ou pas.
Utilisateur
On ne peut pas accéder à une invite de commandes Unix sans d'abord s'identifier. Le plupart du temps on se connect avec un nom d'utilisateur et mot de passe (ou clé SSH).
Même dans notre terminal VSCode on est automatiquement identifié en tant que l'utiliseur
hetic
(sans mot de passe).
L'identité unique est donc centrale !
Comment on peut lister les utilisateurs inscrits sur la machine ? C'est stocké simplement dans le fichier /etc/passwd
cat /etc/passwd
Ce fichier de configuration contient les informations des comptes utilisateurs :
Le nom de l’utilisateur
Le hash du mot de passe
Divers identifiants (user ID, groupe ID)
L’emplacement de son dossier maison
Le shell à utiliser quand il/elle se connecte
Comment ajouter un utilisateur ? Selon votre système Unix, un des deux commandes suivantes pourront fonctionner pour vous :
# Ajouter l'utilisateur 'kevin'
adduser kevin
# Ajouter l'utilisateur 'kevin' et lui créer un dossier maison, en l'ajoutant au groupe `students`
useradd -m -g students kevin
A noter, normalement il faut être administrateur pour ajouter un utilisateur, c'est à dire, dans le groupe sudo
pour avoir le droit. Dans ce cas, il faudrait ajouter sudo
devant chaque commande :
# Ajouter l'utilisateur 'kevin'
sudo adduser kevin
# Ajouter l'utilisateur 'kevin' et lui créer un dossier maison, en l'ajoutant au groupe `students`
sudo useradd -m -g students kevin
Groupes
En tant qu'utilisateur, je pourrais aussi participer dans un ou plusieurs groupes.
Un groupe est juste une collection d'utilisateurs.
Par exemple. Imaginons qu'on a deux utilisateurs, hetic
et kevin
. Chaque utilisateur peut appartenir à zéro, un ou plusieurs groupes :
Groupe :
sudo
Utilisateur :
hetic
Utilisateur :
kevin
Groupe :
docker
Utilisateur :
kevin
Ici, les deux utilisateurs se trouvent dans le groupe sudo
, mais seulement kevin
se trouve dans le groupe docker
. Dans cette exemple, cela veut dire que kevin
pourrait événtuellement lire et modifier les fichiers du groupe docker
. L'utilisateur hetic
ne pourra pas.
Comment voir tous les groupes de l'installation ?
# Lister tous les groupes sur l'installation UNIX
cat /etc/group
# Voir les groupes de l'utilisateur actuel
groups [nom d'uilisateur]
# Ajouter un nouveau groupe
groupadd [nom du groupe]
# Affecter un utilisateur à un groupe
usermod -aG [group] [utilisateur]
# Lister les utilisateurs dans un groupe
# (Peut changer en fonction de votre distribution)
getent group [group]
# Enlever un utilisateur d’un groupe (dépendant de la distro):
gpasswd -d [utilisateur] [group]
deluser [utilisateur] [group]
# Supprimer un group :
groupdel [group]
# Supprimer un utilisateur :
userdel -r [utilisateur]
# Le –r supprime aussi son répertoire home
Essayez de créer des utilisateurs et groupes !
Droits
Une fois que je suis identifié, j'aurais un certain nombre de droits selon 3 catégories :
Les droits accordés à moi-même uniquement
Les droits accordés aux groupes dont je fait parti
Les droits accordés à tous les utilisateurs de l'installation UNIX
Ces droits sont exprimés sur chaque fichier / répertoire.
Dernière mise à jour