🐧
Unix Shell
  • Unix Shell
  • Introduction
    • Introduction
      • 🎉Installation Party
  • 💻L'invite de commandes
    • L'invite de commandes
      • Ouvrir une invite de commandes
      • L'interprète
      • Mes premières commandes
      • Exercice avec ls
      • Raccourcis bash
  • Fichiers et repertoires
    • 📂Fichiers et répertoires
      • Navigation
      • Fichiers : Exercice
      • Edition des fichiers
      • Fichiers spéciaux
  • Recherches
    • 🔍Recherches
      • find
      • Exercice avec find
  • Droits
    • 🔨Droits et permissions
      • Qui
      • Quoi
      • Préciser les droits
  • Packages / Réseau / internet
    • 🌎Le monde extérieur
      • Installer des packages supplémentaires
      • Télécharger des fichiers
      • SSH : Ouvrir un SHELL à distance
      • SCP : Transférer des fichiers
      • Parenthèse : Cryptographie
  • Gestion de la machine
    • 📈Gestion
      • Disques / partitions
      • Exercice : formater et monter une volume (mastère)
      • Les processus
      • Réseau
  • Configurer Apache
    • 🏅Exercice : configurer votre espace web
  • Pipes et redirections
    • 🌊Pipes et redirections
      • Redirections des fichiers
      • grep et les expressions régulières
      • sed : chercher et remplacer
      • awk
  • Scripts
    • 🤖Scripts
      • Exécuter un script
      • Variables
      • Conditions
      • Boucles
      • Fonctions
      • Exercice : un script CGI pour Apache
  • Git
    • 🤖GIT
      • Commandes
      • Branches
      • Déploiement automatique
  • Docker
    • 🐳Docker
      • Lancer des containers
      • Volumes
      • Docker compose
Propulsé par GitBook
Sur cette page
  • Utilisateur
  • Groupes
  • Droits
  1. Droits
  2. Droits et permissions

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.

PrécédentDroits et permissionsSuivantQuoi

Dernière mise à jour il y a 2 ans

🔨