GNU/Linux >> Tutoriels Linux >  >> Linux

Gérer les utilisateurs Linux et les groupes Linux

Linux, comme nous le savons tous, est un système d'exploitation multi-utilisateurs. Si vous avez plusieurs utilisateurs sur un poste de travail ou un serveur, vous pouvez facilement gérer plusieurs comptes d'utilisateurs Linux et accorder des autorisations à chaque compte.

Dans cet article, vous apprendrez –

  • Comment gérer les utilisateurs et les groupes sur un système Linux
  • Créer un nouveau compte utilisateur sous Linux
  • Ajouter un utilisateur à un groupe sous Linux
  • Créer un groupe d'utilisateurs sous Linux
  • Supprimer un groupe d'utilisateurs sous Linux

Gérer les utilisateurs Linux

Mais, avant de discuter de la gestion des utilisateurs Linux et des groupes Linux, laissez-moi vous expliquer pourquoi avoir un compte utilisateur distinct est vital du point de vue de la sécurité. De nombreux utilisateurs commencent à utiliser le compte root lors du premier démarrage d'un serveur Linux, ce qui n'est pas recommandé.

Ce n'est pas une bonne idée d'exécuter les opérations quotidiennes du serveur à l'aide d'un compte root. L'utilisateur racine est un compte superutilisateur. L'avoir connecté garantit qu'au moins une fois l'utilisateur exécutera une commande incorrecte, et l'utilisateur root le fera, la plupart du temps sans même demander de confirmation. Lorsque vous vous connectez en tant qu'utilisateur non root, l'utilisateur a moins d'accès au système et est moins susceptible de faire quelque chose de mal.

Deuxièmement, l'ajout d'utilisateurs à un ou plusieurs groupes plutôt que la gestion d'utilisateurs individuels facilite la gestion de plusieurs utilisateurs sous Linux. Cela nous amène au sujet des groupes d'utilisateurs Linux. Cela peut être fastidieux pour certains utilisateurs de bureau, mais c'est une fonction utile pour les administrateurs système.

Groupes d'utilisateurs Linux

La gestion de plusieurs utilisateurs est une corvée difficile pour un administrateur système, en particulier lorsque les utilisateurs proviennent de différents domaines. Un administrateur peut souhaiter accorder à un type d'utilisateur l'accès à un répertoire tout en refusant à d'autres types d'utilisateurs l'accès à d'autres répertoires du système. Alternativement, un administrateur peut souhaiter avoir plusieurs types d'utilisateurs avec des autorisations variées dans le même répertoire. Il est possible d'y parvenir sous Linux en créant des groupes d'utilisateurs Linux.

Supposons que nous possédions une société de développement de logiciels. Tous les répertoires de projet sont stockés sur un serveur central. Nous souhaitons uniquement permettre aux programmeurs Python d'accéder au répertoire Python, qui contient tout le code Python.

Pour démontrer, nous allons créer un nouvel utilisateur nommé sandy. Sandy est un développeur Python qui a besoin d'accéder au répertoire de code Python de notre serveur. Alors commençons par faire son compte.

Créer un nouvel utilisateur sous Linux

La création d'un nouvel utilisateur sous Linux est extrêmement facile à partir de l'interface graphique.

Par exemple, j'utilise Manjaro Linux (Deepin), et créer un nouvel utilisateur revient à créer une nouvelle note dans n'importe quelle application de prise de notes. Tapez simplement le nom d'utilisateur et le mot de passe, et c'est tout.

Mais si vous devez créer un nouvel utilisateur sur un serveur Linux, les deux commandes suivantes peuvent faire le travail -

  • useradd
  • adduser

useradd – Cette commande est disponible dans toutes les distributions Linux. Il accepte différents arguments pour créer un nouvel utilisateur sous Linux . Si elle est exécutée sans arguments, la commande créera un compte utilisateur sans répertoire personnel, extension de shell, etc.

Cependant, vous pouvez définir les options par défaut dans /etc/default/useradd de sorte qu'à chaque fois qu'un utilisateur est créé, la commande prend les valeurs par défaut de /etc/default/useradd automatiquement.

adduser – Une commande écrite en perl qui utilise useradd dans le backend. Contrairement à useradd , il ne nécessite que le nom d'utilisateur et exécute une configuration dans le terminal pour créer un utilisateur. C'est plus facile que useradd.

adduser n'est disponible que dans Ubuntu et d'autres distributions Linux basées sur Debian.

Comment utiliser useradd ?

useradd -m sandy

La commande ci-dessus créera un compte utilisateur avec un répertoire personnel à /home/sandy . Définissez maintenant le mot de passe de l'utilisateur.

sudo passwd sandy

Et c'est tout. Un utilisateur a été créé. Si vous souhaitez créer un répertoire personnel différent pour l'utilisateur, le -d le paramètre est pour ça.

sudo useradd -d /home/james sandy

Vous pouvez également définir le shell dans la commande useradd. Utilisez simplement le -s paramètre.

sudo useradd -d /home/james -s /bin/bash sandy

Comment utiliser adduser ?

Comme je l'ai mentionné ci-dessus, adduser est bien plus simple que useradd . Il ne nécessite que le nom d'utilisateur. adduser pose des questions et définit les valeurs d'entrée comme valeurs de paramètre dans la commande useradd.

sudo adduser sandy

Si vous utilisez Ubuntu ou d'autres distributions basées sur Debian, continuez avec adduser commande. Cette commande a été créée pour simplifier le processus de création d'utilisateur sur les systèmes Linux.

Ajouter un groupe d'utilisateurs sous Linux

Comme mentionné ci-dessus, la gestion des utilisateurs Linux est plus facile en les ajoutant à un ou plusieurs groupes Linux.

Nous pouvons créer un groupe appelé "python-programmers", ajouter sandy, notre développeur python, à ce groupe, puis lui accorder l'accès au répertoire Python.

groupadd python-programmer

Ajouter un utilisateur à un groupe sous Linux

Ajoutez maintenant sandy au groupe python-programmer.

sudo usermod -aG python-programmer sandy

Ajouter un groupe à un répertoire sous Linux

Changez le groupe du répertoire Python qui existe sous $HOME/Projects/Python .

sudo chown -R :python-programmer $HOME/Projects/Python

Ajouter des autorisations au répertoire

Ajoutez maintenant l'autorisation de lecture et d'écriture au répertoire pour les utilisateurs du groupe.

sudo chmod -R g+w $HOME/Projects/Python

Supprimer les autorisations du répertoire

Et enfin, interdisez aux autres utilisateurs d'accéder au répertoire Python.

sudo chmod -R o-x Python

Et le travail est fait ! Désormais, le répertoire Python est accessible soit par l'utilisateur root, soit par n'importe quel utilisateur du groupe "python-programmers".

Mais il y a un problème !

La procédure ci-dessus fera l'affaire. Il accordera l'accès aux utilisateurs de programmeurs python au répertoire Python, mais il y a un problème. L'approche ci-dessus ne permettra qu'à un seul groupe d'utilisateurs d'accéder au répertoire Python à la fois. Si vous souhaitez autoriser d'autres développeurs à accéder au répertoire Python, vous devrez supprimer l'accès du groupe précédent et définir le nouveau groupe comme propriétaire du répertoire.

Pour résoudre ce problème et autoriser l'accès à plusieurs types d'utilisateurs à la fois, nous pouvons utiliser des listes de contrôle d'accès.

Listes de contrôle d'accès

Disons que nous avons un groupe d'auditeurs dans notre société. Nous voulons permettre aux auditeurs du groupe d'avoir un accès en "lecture" au répertoire Python sans en supprimer aucun autre groupe.

setfacl -m g:auditors:rx -R $HOME/Projects/Python

Et c'est tout. Désormais, les utilisateurs du groupe python-programmers ont un accès en lecture et en écriture, et les utilisateurs du groupe des auditeurs ont un accès en lecture sur le répertoire Python. Si vous souhaitez autoriser également les auditeurs à avoir un accès en écriture, ajoutez le w dans la commande ci-dessus.

setfacl -m g:auditors:rwx -R $HOME/Projects/Python

Supprimer un utilisateur sous Linux

Vous devrez peut-être également supprimer un utilisateur sous Linux. Cela peut être fait en utilisant userdel commande.

userdel sandy
Avertissement
La suppression d'un utilisateur est une action non récupérable. Assurez-vous donc de sauvegarder les fichiers et paramètres importants avant de supprimer un utilisateur. Par défaut, la commande ne supprimera pas le répertoire personnel de l'utilisateur.Remarque
Avant de supprimer un utilisateur sous Linux, assurez-vous que l'utilisateur n'utilise aucun autre processus. Sinon, vous obtiendrez l'erreur suivante -
userdel: The user sandy is being used by process 3861

Liste tous les processus d'un utilisateur sous Linux

ps -u sandy
Output -
  PID TTY          TIME CMD
 4831 ?        00:00:00 systemd
 4832 ?        00:00:00 (sd-pam)
 4845 ?        00:00:00 gnome-keyring-d
 4849 tty5     00:00:00 gdm-x-session
 4851 tty5     00:00:10 Xorg
 4856 ?        00:00:00 dbus-daemon
 4860 tty5     00:00:00 gnome-session-b
 4958 ?        00:00:00 ssh-agent
 4961 ?        00:00:00 gvfsd
 4966 ?        00:00:00 gvfsd-fuse
 4975 ?        00:00:00 at-spi-bus-laun
 4980 ?        00:00:00 dbus-daemon
 4983 ?        00:00:00 at-spi2-registr
 4997 ?        00:00:00 gnome-keyring-d
 5012 tty5     00:00:21 gnome-shell
 5023 ?        00:00:00 pulseaudio
 5032 tty5     00:00:00 ibus-daemon
 5034 ?        00:00:00 xdg-permission-
 5042 tty5     00:00:00 ibus-dconf
 5044 ?        00:00:00 gnome-shell-cal
 5046 tty5     00:00:00 ibus-x11
 5050 ?        00:00:00 ibus-portal
 5057 ?        00:00:00 evolution-sourc
 5066 ?        00:00:00 dconf-service
 5073 ?        00:00:00 goa-daemon
 5084 ?        00:00:00 goa-identity-se
 5094 ?        00:00:00 gvfs-udisks2-vo
 5099 ?        00:00:00 gvfs-gphoto2-vo
 5103 ?        00:00:00 gvfs-goa-volume
 5107 ?        00:00:00 gvfs-afc-volume
 5112 ?        00:00:00 gvfs-mtp-volume
 5116 tty5     00:00:00 gsd-power
 5117 tty5     00:00:00 gsd-print-notif
 5119 tty5     00:00:00 gsd-rfkill
 5121 tty5     00:00:00 gsd-screensaver
 5125 tty5     00:00:00 gsd-sharing
 5128 tty5     00:00:00 gsd-smartcard
 5130 tty5     00:00:00 gsd-xsettings
 5131 tty5     00:00:00 gsd-wacom
 5139 tty5     00:00:00 gsd-sound
 5144 tty5     00:00:00 gsd-a11y-settin
 5147 tty5     00:00:00 gsd-color
 5150 tty5     00:00:00 gsd-clipboard
 5154 tty5     00:00:00 gsd-housekeepin
 5155 tty5     00:00:00 gsd-datetime
 5160 tty5     00:00:00 gsd-media-keys
 5162 tty5     00:00:00 gsd-keyboard
 5164 tty5     00:00:00 gsd-mouse
 5186 tty5     00:00:00 gsd-printer
 5217 tty5     00:00:00 gsd-disk-utilit
 5219 tty5     00:00:01 nautilus-deskto
 5232 ?        00:00:00 gvfsd-trash
 5254 ?        00:00:00 evolution-calen
 5267 ?        00:00:00 evolution-calen
 5282 ?        00:00:00 evolution-addre
 5289 ?        00:00:00 evolution-addre
 5310 tty5     00:00:00 ibus-engine-sim
 5311 ?        00:00:00 gvfsd-metadata
 5364 ?        00:00:00 gvfsd-network
 5375 ?        00:00:00 gvfsd-dnssd
 5443 tty5     00:00:00 update-notifier
 5461 tty5     00:00:02 gnome-software
 5563 ?        00:00:03 nautilus
 5951 tty5     00:00:00 deja-dup-monito

Ou il existe une autre commande pour lister les processus des utilisateurs sous Linux, pgrep .

pgrep -u sandy
Output -
4831
4832
4845
4849
4851
4856
4860
4958
4961
4966
4975
4980
4983
4997
5012
5023
5032
5034
5042

Tuer tous les processus utilisés par l'utilisateur

killall la commande tuera tous les processus des utilisateurs.

killall -u sandy

Supprimer un utilisateur Linux

Une fois tous les processus des utilisateurs supprimés, nous pouvons supprimer l'utilisateur.

userdel sandy

Comme je l'ai mentionné ci-dessus, par défaut, la commande ne supprimera pas le répertoire personnel de l'utilisateur. Pour supprimer également le répertoire personnel de l'utilisateur, ajoutez –-r argument de la commande.

userdel -r sandy

Supprimer un utilisateur d'un groupe sous Linux

Si vous décidez de retirer les droits d'un utilisateur, supprimez l'utilisateur du groupe.

sudo gpasswd -d sandy python-programmers

Si l'utilisateur est membre du groupe, il affichera ce qui suit -

Removing user sandy from group python-programmers

Supprimer un groupe sous Linux

Si vous souhaitez supprimer un groupe sous Linux, utilisez groupdel commande.

groupdel username

Si le groupe de suppression est le groupe principal de l'un des utilisateurs du système, le groupe ne peut pas être supprimé. Dans ce cas, modifiez le groupe principal de cet utilisateur.

Supprimer le groupe d'auditeurs du système.

groupdel auditors

Conclusion

C'est tout ce qu'on peut en dire. La gestion des utilisateurs Linux et des groupes Linux est simple. Une fois que vous aurez appris à gérer les utilisateurs, vous serez en mesure de garder vos fichiers en sécurité et privés sans dépendre d'une bibliothèque ou d'un service tiers.

Si vous pensez que j'ai oublié quelque chose dans l'article, veuillez me le faire savoir dans la section des commentaires ci-dessous. Je mettrai à jour cet article tous les trois mois avec vos suggestions (avec votre nom).

S'il vous plaît laissez-moi savoir si vous ne comprenez pas l'une des instructions dans la zone de commentaires ci-dessous. Si vous êtes un nerd et avez découvert une erreur dans l'article, veuillez me le faire savoir en utilisant la page Contactez-nous ou en rejoignant notre serveur Discord.


Linux
  1. Qu'est-ce qu'un utilisateur Linux ?

  2. Comment trouver tous les utilisateurs de Sudo sous Linux

  3. Liste des utilisateurs sous Linux - Meilleure méthode

  4. Comment gérer les utilisateurs avec useradd sous Linux

  5. Créer, gérer et supprimer des utilisateurs et des groupes dans Active Directory

Comment gérer les utilisateurs dans Plesk

Comment répertorier les utilisateurs sous Linux

Commande ID sous Linux

Comment lister tous les utilisateurs sous Linux

Comment connaître les groupes d'un utilisateur Linux

Comment créer et gérer de nouveaux utilisateurs sous Linux