Administrateur Linux - Gestion des utilisateurs

Lorsque nous discutons de la gestion des utilisateurs , nous devons comprendre trois termes importants:

  • Users
  • Groups
  • Permissions

Nous avons déjà discuté des autorisations détaillées appliquées aux fichiers et aux dossiers. Dans ce chapitre, parlons des utilisateurs et des groupes.

Utilisateurs CentOS

Dans CentOS, il existe deux types de comptes -

  • System accounts - Utilisé pour un démon ou un autre logiciel.

  • Interactive accounts - Habituellement attribué à un utilisateur pour accéder aux ressources système.

La principale différence entre les deux types d'utilisateurs est -

  • System accountssont utilisés par les démons pour accéder aux fichiers et répertoires. Celles-ci seront généralement interdites lors de la connexion interactive via le shell ou la connexion à la console physique.

  • Interactive accounts sont utilisés par les utilisateurs finaux pour accéder aux ressources informatiques à partir d'une connexion shell ou d'une console physique.

Avec cette compréhension de base des utilisateurs, créons maintenant un nouvel utilisateur pour Bob Jones dans le service de comptabilité. Un nouvel utilisateur est ajouté avec leadduser commander.

Voici quelques adduser commutateurs communs -

Commutateur action
-c Ajoute un commentaire au compte utilisateur
-m Crée le répertoire de base de l'utilisateur à l'emplacement par défaut, s'il n'existe pas
-g Groupe par défaut à affecter à l'utilisateur
-n Ne crée pas de groupe privé pour l'utilisateur, généralement un groupe avec un nom d'utilisateur
-M Ne crée pas de répertoire personnel
-s Shell par défaut autre que / bin / bash
-u Spécifie l'UID (sinon attribué par le système)
-G Groupes supplémentaires auxquels attribuer l'utilisateur

Lors de la création d'un nouvel utilisateur, utilisez les commutateurs -c, -m, -g, -n comme suit -

[root@localhost Downloads]# useradd -c "Bob Jones  Accounting Dept Manager" 
-m -g accounting -n bjones

Voyons maintenant si notre nouvel utilisateur a été créé -

[root@localhost Downloads]# id bjones 
(bjones) gid = 1001(accounting) groups = 1001(accounting)

[root@localhost Downloads]# grep bjones /etc/passwd 
bjones:x:1001:1001:Bob Jones  Accounting Dept Manager:/home/bjones:/bin/bash

[root@localhost Downloads]#

Nous devons maintenant activer le nouveau compte à l'aide de la commande passwd -

[root@localhost Downloads]# passwd bjones 
Changing password for user bjones. 
New password:  
Retype new password:  
passwd: all authentication tokens updated successfully.

[root@localhost Downloads]#

Le compte utilisateur n'est pas activé, ce qui permet à l'utilisateur de se connecter au système.

Désactivation des comptes d'utilisateurs

Il existe plusieurs méthodes pour désactiver les comptes sur un système. Cela va de l'édition manuelle du fichier / etc / passwd. Ou même en utilisant la commande passwd avec le-lcommutateur. Ces deux méthodes ont un gros inconvénient: si l'utilisateur a un accès ssh et utilise une clé RSA pour l'authentification, il peut toujours se connecter en utilisant cette méthode.

Maintenant , nous allons utiliser la chage commande, changer la date d'expiration du mot de passe à une date antérieure. En outre, il peut être bon de noter sur le compte pourquoi nous l'avons désactivé.

[root@localhost Downloads]# chage -E 2005-10-01 bjones
 
[root@localhost Downloads]# usermod  -c "Disabled Account while Bob out of the country 
for five months" bjones

[root@localhost Downloads]# grep bjones /etc/passwd 
bjones:x:1001:1001:Disabled Account while Bob out of the country for four 
months:/home/bjones:/bin/bash

[root@localhost Downloads]#

Gérer les groupes

La gestion des groupes sous Linux permet à un administrateur de combiner les utilisateurs dans des conteneurs appliquant des ensembles d'autorisations applicables à tous les membres du groupe. Par exemple, tous les utilisateurs de la comptabilité peuvent avoir besoin d'accéder aux mêmes fichiers. Ainsi, nous créons un groupe comptable, en ajoutant des utilisateurs de comptabilité.

Pour la plupart, tout ce qui nécessite des autorisations spéciales doit être effectué dans un groupe. Cette approche permet généralement de gagner du temps par rapport à l'application d'autorisations spéciales à un seul utilisateur. Exemple, Sally est en charge des rapports et seule Sally a besoin d'accéder à certains fichiers pour les rapports. Cependant, que se passe-t-il si Sally est malade un jour et que Bob fait des rapports? Ou le besoin de reporting augmente? Lorsqu'un groupe est créé, un administrateur n'a besoin de le faire qu'une seule fois. L'ajout d'utilisateurs est appliqué à mesure que les besoins changent ou se développent.

Voici quelques commandes courantes utilisées pour gérer les groupes -

  • chgrp
  • groupadd
  • groups
  • usermod

chgrp - Modifie la propriété du groupe pour un fichier ou un répertoire.

Créons un répertoire pour les personnes du groupe de comptabilité pour stocker les fichiers et créer des répertoires pour les fichiers.

[root@localhost Downloads]# mkdir /home/accounting

[root@localhost Downloads]# ls -ld /home/accounting
drwxr-xr-x. 2 root root 6 Jan 13 10:18 /home/accounting

[root@localhost Downloads]#

Ensuite, donnons la propriété du groupe au groupe comptable .

[root@localhost Downloads]# chgrp -v  accounting /home/accounting/ 
changed group of ‘/home/accounting/’ from root to accounting

[root@localhost Downloads]# ls -ld /home/accounting/ 
drwxr-xr-x. 2 root accounting 6 Jan 13 10:18 /home/accounting/

[root@localhost Downloads]#

Désormais, tous les membres du groupe de comptabilité ont des autorisations de lecture et d' exécution sur / home / comptabilité . Ils auront également besoin d'autorisations d'écriture.

[root@localhost Downloads]# chmod g+w /home/accounting/

[root@localhost Downloads]# ls -ld /home/accounting/ 
drwxrwxr-x. 2 root accounting 6 Jan 13 10:18 /home/accounting/

[root@localhost Downloads]#

Étant donné que le groupe de comptabilité peut traiter des documents sensibles, nous devons appliquer certaines autorisations restrictives pour les autres ou le monde .

[root@localhost Downloads]# chmod o-rx /home/accounting/

[root@localhost Downloads]# ls -ld /home/accounting/ 
drwxrwx---. 2 root accounting 6 Jan 13 10:18 /home/accounting/

[root@localhost Downloads]#

groupadd - Utilisé pour créer un nouveau groupe.

Commutateur action
-g Spécifie un GID pour le groupe
-K Remplace les spécifications du GID dans /etc/login.defs
-o Permet de remplacer la non-autorisation d'identifiant de groupe non unique
-p Mot de passe de groupe, permettant aux utilisateurs de s'activer

Faisons un nouveau groupe appelé secret. Nous ajouterons un mot de passe au groupe, permettant aux utilisateurs de s'ajouter avec un mot de passe connu.

[root@localhost]# groupadd secret

[root@localhost]# gpasswd secret 
Changing the password for group secret 
New Password:  
Re-enter new password:

[root@localhost]# exit 
exit

[centos@localhost ~]$ newgrp secret 
Password:

[centos@localhost ~]$ groups 
secret wheel rdc

[centos@localhost ~]$

En pratique, les mots de passe des groupes ne sont pas souvent utilisés. Les groupes secondaires sont adéquats et le partage de mots de passe entre d'autres utilisateurs n'est pas une bonne pratique de sécurité.

le groupsLa commande est utilisée pour montrer à quel groupe appartient un utilisateur. Nous l'utiliserons après avoir apporté quelques modifications à notre utilisateur actuel.

usermod est utilisé pour mettre à jour les attributs du compte.

Voici les commutateurs usermod courants .

Commutateur action
-une Ajoute, ajoute un utilisateur à des groupes supplémentaires, uniquement avec l'option -G
-c Commentaire, met à jour la valeur du commentaire utilisateur
-ré Répertoire personnel, met à jour le répertoire personnel de l'utilisateur
-G Regroupe, ajoute ou supprime les groupes d'utilisateurs secondaires
-g Groupe, groupe principal par défaut de l'utilisateur
[root@localhost]# groups centos 
centos : accounting secret

[root@localhost]#

[root@localhost]# usermod -a -G wheel centos

[root@localhost]# groups centos
centos : accounting wheel secret

[root@localhost]#