From Mageia wiki
Jump to: navigation, search
(Synchronization with the English version.)
Line 4: Line 4:
 
[[Category:Howtos]]
 
[[Category:Howtos]]
 
[[Category:MageiaCookbook]]
 
[[Category:MageiaCookbook]]
{{bandeau multi-langues-fr|[[sudo_einrichten-de|Deutsch]] ; [[Configuring_sudo|English]] ; [[Configurer_sudo-fr|français]]}}
+
{{bandeau multi-langues-fr|[[sudo_einrichten-de|Deutsch]] ; [https://wiki.mageia.org/en/Configuring_sudo English] ; [[Configurer_sudo-fr|français]]}}
  
 +
== Introduction ==
  
 +
Cette page explique comment configurer '''sudo''' sous Mageia.
  
=Introduction=
+
'''sudo''' est principalement utilisé pour les raisons suivantes :
  
 +
# Utilisé, car il est possible de garder trace des actions exécutées ('''sudo''' est journalisé)
 +
# Permettre de simplifier la gestion des permissions.
 +
#Permettre à un utilisateur de poser des actions d’administration sans devoir partager de mot de passe.
  
Cette page explique comment configurer '''sudo''' sous Mageia.
+
== Étape 1 : Assurez-vous que sudo soit bien installé (si ce n’est pas le cas, installez-le) ==
  
'''sudo''' est principalement utilisé pour les raisons suivantes:
+
Vérifier que le rpm sudo soit installé :
  
<ol>
+
{{console|<nowiki>rpm -q sudo > /dev/null && echo sudo est installé||echo sudo N’est PAS installé</nowiki><br>sudo N’est PAS installé}}
<li>
+
Si vous voyez le message « sudo n’est PAS installé », vous devrez l’installer (en tant que root), comme ceci :
Utilisé car il possible de garder trace des actions commises ('''sudo''' est journalisé)
+
{{root console|/usr/sbin/urpmi sudo}}
</li>
 
<li>
 
Permettre de simplifier la gestion des permissions.
 
</li>
 
<li>
 
Permettre à un utilisateur de poser des actions d'administration sans devoir partager de mot de passe.
 
</li>
 
</ol>
 
  
=Comment configurer=
+
== Étape 2 Configurer sudo ==
Toutes les configurations de '''sudo''' sont placer dans deux emplacements. Dans un premier temps, '''sudo''' cherche ses configurations dans le dosier {{File|/etc/sudoers.d/}} (Les fichiers sont lu par ordre alphabétique). Ensuite, il lit le fichier {{File|/etc/sudoers}}.
 
{{information-fr|Les fichiers contenants des «.» ou des «~» seront ignorés}}
 
  
Pour modifier {{File|/etc/sudoers}} on se sert de la commande suivante.
+
Il est possible de configurer sudo de différentes manières.
{{root console|visudo}}
+
Vous pouvez, par exemple, activer des commandes spécifiques pour des groupes ou des utilisateurs donnés.
  
Pour modifier ou créer un fichier dans {{File|/etc/sudoers.d/}} on se sert du commutateur «'''-f'''» de «'''visudo'''»:
+
Ici, nous allons simplement configurer sudo de manière à ce que tout utilisateur du groupe wheel soit autorisé à utiliser sudo pour obtenir le privilège de root.<br>
{{root console|visudo -f /etc/sudoers.d/FICHIER}}
+
Lorsqu’un utilisateur membre du groupe '''wheel''' exécute une commande {{cmd|sudo}}, par exemple {{cmd|/bin/sudo -i}}, il est invité à saisir son propre mot de passe.<br>
 +
Cela renforce la sécurité en garantissant qu’un mot de passe est nécessaire pour obtenir le privilège de root.<br>
  
{{Attention-fr|Ne jamais modifier les fichiers de configuration autrement qu'avec la commande «'''visudo'''». Cette commande protège les fichiers, entre-autre, en les cadenassant. Ainsi, il ne peut pas y avoir d'éditions simultanés des fichiers (qui causerais probablement une corruption des fichiers).}}
+
Le fichier de configuration sudo peut être édité à l’aide de la commande {{cmd|visudo}}.<br>
 +
Cependant, nous pouvons éviter de modifier ce long et complexe fichier de configuration sudo pour activer le groupe '''wheel''' en exécutant simplement (en tant que root) ce qui suit :
  
{{Note-fr|Lors d'une mise à jour ou d'une mise à niveaux il est possible que le fichier {{File|/etc/sudoers}} soit modifier. Il est donc préférable de placer vos configurations dans le répertoire {{File|/etc/sudoers.d/}}.}}
+
# Créer le fichier (le choix du nom est libre et celui-ci peut être en relation avec son contenu, p. ex. 01wheel) pour permettre aux membres du groupe '''wheel''' d’accéder à root via sudo
 +
# exécuter la commande indiquée comme suit, en tant que root (cela crée et écrit la ligne et donne uniquement le droit de lecture au fichier {{file|01wheel}}).
 +
{{root console|<nowiki>echo "%wheel ALL=(ALL)  ALL" > /etc/sudoers.d/01wheel & chmod 440 /etc/sudoers.d/01wheel</nowiki>}}
 +
Une explication détaillée indiquant la raison pour laquelle les fichiers du répertoire '''/etc/sudoers.d/''' sont nommés comme ils le sont se trouve dans la page du manuel du fichier sudoers :
  
{{note-fr|Toutes les modifications devront être effectuer en temps qu'administrateur. Il faudra donc vous servir de la commande '''su''' avant de commencer}}
+
{{console|man sudoers}}
==Vérifier que '''sudo''' est installé==
 
  
Vérifier si le ''rpm'' de '''sudo''' est installé:
+
Cherchez « '''etc/sudoers.d''' » précédé du signe « / » en tapant : /etc/sudoers.d
{{root console|rpm -q sudo}}
 
  
Si '''sudo''' est installé un message du genre devrait s'afficher.
+
== Étape 3 : Ajouter des utilisateurs au groupe wheel pour leur permettre d’avoir le privilège root ==
<pre>
 
sudo-1.8.28-1.mga7
 
</pre>
 
  
Sinon le message suivant s'affichera:
+
Il est beaucoup plus simple de gérer la liste des utilisateurs disposant d’un accès root en les ajoutant ou en les supprimant simplement d’un groupe.<br>
<pre>
+
Historiquement, le groupe '''wheel''' fut introduit pour cela sur Unix et les systèmes semblables à Unix.
le paquet '''sudo''' n'est pas installé
 
</pre>
 
  
Si '''sudo''' n'est pas installé, installez ainsi:
+
Vous pouvez ajouter des utilisateurs à un groupe de (au moins) deux façons :
{{root console|urpmi sudo}}
 
  
==Ajouter un utilisateur==
+
* En utilisant le centre de contrôle Mageia :<br>
Il est possible de gérer qui à le droit d’utiliser '''sudo'''. Par défaut, sur Mageia 5, aucun utilisateur ou groupe d'utilisateurs ne peut se servir de '''sudo'''.
+
{{menu|Système -> Gérer les utilisateurs du système -> sélectionner l’onglet Utilisateur -> Action -> Éditer ->}} pour chaque utilisateur, sélectionner l’onglet groupes et cochez l’entrée du groupe «''' wheel '''».
  
Un utilisateur non autorisé sera confronté à un message semblable:
+
* En utilisant la ligne de commande<br>
<pre>
+
Modifier le fichier {{file|/etc/group}} avec un éditeur de texte comme vim et mettez à jour la ligne pour '''wheel''' en ajoutant les noms des utilisateurs sous forme de liste délimitée par des virgules.<br>
Utilisateur n'apparaît pas dans le fichier sudoers. Cet événement sera signalé.
+
Dans l’exemple suivant, nous allons ajouter les utilisateurs : ken et dennis au groupe '''wheel'''.
</pre>
 
===Créer un groupe d'ulisateurs===
 
Il est beaucoup plus simple (pour des raisons de gestion) de créer un groupe d'utilisateurs et d'indiquer à '''sudo''' que se groupe peut l'utiliser, que d'ajouter chaque utilisateur individuellement. Typiquement, les utilisateurs faisant parti du groupe '''wheel''' ont le droit de se servir de '''sudo'''.
 
  
Pour créer/modifier un groupe il y a deux méthodes:
+
Modifier la ligne :
<ol>
+
wheel:x:10:
  <li>
+
En :
    Modifier par le biais des commandes «'''usermod'''» et «'''groupadd'''»
+
wheel:x:10:ken,dennis
  </li>
 
  <li>
 
    modifier manuellement le fichier «'''/etc/group'''»
 
</ol>
 
  
Pour la première méthode:
+
== Étape 4 : Les utilisateurs nouvellement ajoutés au groupe Wheel peuvent avoir besoin de se déconnecter et de se reconnecter ==
{{root console|usermod -a -G wheel utilisateur}}
 
  
Pour la seconde:
+
Si un utilisateur nouvellement ajouté au groupe '''wheel''' est également connecté au même moment, il doit se déconnecter et se reconnecter pour que son accès sudo puisse fonctionner.
{{root console|vigr}}
 
  
 +
== Utilisation de sudo ==
  
Modifié la ligne:
+
Dès que sudo est installé et configuré comme décrit ci-dessus, les utilisateurs du groupe wheel peuvent utiliser sudo pour exécuter des commandes root.
<pre>
 
wheel:x:10:
 
</pre>
 
  
En:
+
Exemple 1 – Pour installer toutes les mises à jour en attente :
<pre>
+
{{sudo|ken|google.com|/usr/sbin/urpmi --auto-update}}
wheel:x:10:utilisateur,autreUtilisateur
 
</pre>
 
  
Pour insérer du texte il faut appuyer sur <code>A</code>, une fois fait appuyer sur <code>esc</code> pour quiter le mode d’insertion. Pour enregistrer les modifications <code>:w</code>, pour quitter <code>:q</code> et pour quitter sans enregistrer <code>:qa!</code>.
+
Exemple 2 – Pour lancer un shell en mode root :
{{Note-fr|L'utilisateur peut avoir besoin de se reconnecté pour que les changements soient effectifs}}
+
{{sudo to root|dennis|att.com}}
 +
Ici, l’option « '''-i''' » de sudo fait que le shell démarre comme si root s’était connecté et (dispose des paramètres de l’environnement de celui-ci)<br>
 +
De ce fait, l’invite est maintenant une invite root et si elle est exécutée dans un terminal, l’onglet aura pour adresse « root@att.com ».
  
 +
== Conseils ==
 +
=== Conseil N°1 :Éviter d’utiliser root ===
  
===Ajouter un groupe à sudo===
+
Évitez autant que possible d’utiliser le compte root.
Pour modifier la configuration de '''sudo''' il existe deux méthodes:
+
<br>
 +
Si vous avez vraiment besoin d’un accès root, utilisez-le, mais il est plus sûr d’abandonner l’accès en tant que root pour des actions futiles.
  
La première consiste à ajouter un fichier dans le répertoire «'''/etc/sudoers.d'''»:
+
=== Conseil N°2 :Avec un terminal à onglets, garder un onglet pour root ===
{{root console|visudo -f /etc/sudoers.d/01wheel}}
 
  
ajouter la ligne suivante:
+
Si vous utilisez un terminal à onglets (comme Konsole), il est pratique d’ouvrir un onglet dans le shell root et d’autres onglets dans le shell non-root.<br>
<pre>
+
Cela évite de devoir changer de racine, car vous pouvez simplement sélectionner l’onglet du terminal dans lequel vous voulez travailler.
%wheel  ALL=(ALL)       ALL
 
</pre>
 
  
La seconde consiste à modifier le fichier «'''/etc/sudoers'''»:
+
=== Conseil N°3 :Utilisez toujours le chemin d’accès complet pour les commandes demandant des mots de passe ===
{{root console|visudo}}
 
  
 +
Au lieu d’utiliser la commande '''sudo''', prenez l’habitude d’utiliser la commande {{cmd|/bin/sudo}}. (Cela s’applique également à l’utilisation de {{cmd|/bin/su}} au lieu de '''su''').
  
ajouter ou dé-commenter (enlever le ou les «#» en début de ligne) la ligne suivante:
+
Pourquoi ? Pour toute commande qui provoque une demande de mot de passe, l’utilisation d’un chemin d’accès complet est plus sûre (que le seul nom de la commande).
<pre>
 
%wheel  ALL=(ALL)       ALL
 
</pre>
 
  
{{information|Le «%» est pour indiquer qu'il s’agit d'un groupe. Pour ajouter un seul utilisateur remplacer «%wheel» par «utilisateur».}}
+
Une technique utilisée par les pirates informatiques consiste à exploiter la confiance que vous avez dans le fait que lorsque vous tapez '''sudo''', vous croyez que vous dirigez le véritable '''sudo'''.
 +
<br>
 +
Si un pirate informatique est en mesure d’accéder à votre compte, votre $PATH peut être modifié pour exécuter un sudo usurpé qui capture votre mot de passe saisi, affiche un message d’erreur, puis exécute le véritable sudo.
 +
<br>
 +
L’utilisateur pense alors « Oh, j’ai mal tapé le mot de passe. Je vais le retaper ».
  
==temps d'inactivité==
+
=== conseil n°4 : Surveiller l’utilisation du sudo ===
La configuration par défaut prévois une période d'inactivité de 5 minutes avant l'expiration de la session, c'est à dire avant de devoir reconfirmer son mot de passe. Pour modifié cela il faut ajouter la règle suivante:
 
<pre>
 
Defaults        timestamp_timeout=N
 
</pre>
 
  
Où '''N''' est le nombre de minutes
+
Le fichier de journalisation sudo se trouve dans {{file|var/log/sudo.log}}.
  
{{information|Le nombre peut être fractionnel, c'est à dire 2.5 est une valeur accepté par le système. Si le nombre est négatif il n'y aura pas d'expiration.}}
+
Consultez le journal de temps en temps pour comprendre ce qu’est une activité sudo « normale » sur votre système.
 +
Notez la ''date/heure'' et les valeurs ''TTY'' dans le journal. Faites attention aux entrées de journaux bizarres ou inhabituelles. Par exemple, sudo exécuté à un moment où vous n’utilisiez pas la machine ou à partir d’un ''TTY'' non utilisé normalement.
  
=Liens=
+
== Liens ==
  
 
{| class="wikitable"
 
{| class="wikitable"

Revision as of 10:10, 29 November 2020

Template:Bandeau multi-langues-fr

Introduction

Cette page explique comment configurer sudo sous Mageia.

sudo est principalement utilisé pour les raisons suivantes :

  1. Utilisé, car il est possible de garder trace des actions exécutées (sudo est journalisé)
  2. Permettre de simplifier la gestion des permissions.
  3. Permettre à un utilisateur de poser des actions d’administration sans devoir partager de mot de passe.

Étape 1 : Assurez-vous que sudo soit bien installé (si ce n’est pas le cas, installez-le)

Vérifier que le rpm sudo soit installé :

Konsole.png
[user@computer ~]$ rpm -q sudo > /dev/null && echo sudo est installé||echo sudo N’est PAS installé
sudo N’est PAS installé

Si vous voyez le message « sudo n’est PAS installé », vous devrez l’installer (en tant que root), comme ceci : Template:Root console

Étape 2 Configurer sudo

Il est possible de configurer sudo de différentes manières. Vous pouvez, par exemple, activer des commandes spécifiques pour des groupes ou des utilisateurs donnés.

Ici, nous allons simplement configurer sudo de manière à ce que tout utilisateur du groupe wheel soit autorisé à utiliser sudo pour obtenir le privilège de root.
Lorsqu’un utilisateur membre du groupe wheel exécute une commande sudo, par exemple /bin/sudo -i, il est invité à saisir son propre mot de passe.
Cela renforce la sécurité en garantissant qu’un mot de passe est nécessaire pour obtenir le privilège de root.

Le fichier de configuration sudo peut être édité à l’aide de la commande visudo.
Cependant, nous pouvons éviter de modifier ce long et complexe fichier de configuration sudo pour activer le groupe wheel en exécutant simplement (en tant que root) ce qui suit :

  1. Créer le fichier (le choix du nom est libre et celui-ci peut être en relation avec son contenu, p. ex. 01wheel) pour permettre aux membres du groupe wheel d’accéder à root via sudo
  2. exécuter la commande indiquée comme suit, en tant que root (cela crée et écrit la ligne et donne uniquement le droit de lecture au fichier 01wheel).

Template:Root console Une explication détaillée indiquant la raison pour laquelle les fichiers du répertoire /etc/sudoers.d/ sont nommés comme ils le sont se trouve dans la page du manuel du fichier sudoers :

Konsole.png
[user@computer ~]$ man sudoers


Cherchez « etc/sudoers.d » précédé du signe « / » en tapant : /etc/sudoers.d

Étape 3 : Ajouter des utilisateurs au groupe wheel pour leur permettre d’avoir le privilège root

Il est beaucoup plus simple de gérer la liste des utilisateurs disposant d’un accès root en les ajoutant ou en les supprimant simplement d’un groupe.
Historiquement, le groupe wheel fut introduit pour cela sur Unix et les systèmes semblables à Unix.

Vous pouvez ajouter des utilisateurs à un groupe de (au moins) deux façons :

  • En utilisant le centre de contrôle Mageia :

Système -> Gérer les utilisateurs du système -> sélectionner l’onglet Utilisateur -> Action -> Éditer -> pour chaque utilisateur, sélectionner l’onglet groupes et cochez l’entrée du groupe « wheel ».

  • En utilisant la ligne de commande

Modifier le fichier /etc/group avec un éditeur de texte comme vim et mettez à jour la ligne pour wheel en ajoutant les noms des utilisateurs sous forme de liste délimitée par des virgules.
Dans l’exemple suivant, nous allons ajouter les utilisateurs : ken et dennis au groupe wheel.

Modifier la ligne :

wheel:x:10:

En :

wheel:x:10:ken,dennis

Étape 4 : Les utilisateurs nouvellement ajoutés au groupe Wheel peuvent avoir besoin de se déconnecter et de se reconnecter

Si un utilisateur nouvellement ajouté au groupe wheel est également connecté au même moment, il doit se déconnecter et se reconnecter pour que son accès sudo puisse fonctionner.

Utilisation de sudo

Dès que sudo est installé et configuré comme décrit ci-dessus, les utilisateurs du groupe wheel peuvent utiliser sudo pour exécuter des commandes root.

Exemple 1 – Pour installer toutes les mises à jour en attente : Template:Sudo

Exemple 2 – Pour lancer un shell en mode root : Template:Sudo to root Ici, l’option « -i » de sudo fait que le shell démarre comme si root s’était connecté et (dispose des paramètres de l’environnement de celui-ci)
De ce fait, l’invite est maintenant une invite root et si elle est exécutée dans un terminal, l’onglet aura pour adresse « root@att.com ».

Conseils

Conseil N°1 :Éviter d’utiliser root

Évitez autant que possible d’utiliser le compte root.
Si vous avez vraiment besoin d’un accès root, utilisez-le, mais il est plus sûr d’abandonner l’accès en tant que root pour des actions futiles.

Conseil N°2 :Avec un terminal à onglets, garder un onglet pour root

Si vous utilisez un terminal à onglets (comme Konsole), il est pratique d’ouvrir un onglet dans le shell root et d’autres onglets dans le shell non-root.
Cela évite de devoir changer de racine, car vous pouvez simplement sélectionner l’onglet du terminal dans lequel vous voulez travailler.

Conseil N°3 :Utilisez toujours le chemin d’accès complet pour les commandes demandant des mots de passe

Au lieu d’utiliser la commande sudo, prenez l’habitude d’utiliser la commande /bin/sudo. (Cela s’applique également à l’utilisation de /bin/su au lieu de su).

Pourquoi ? Pour toute commande qui provoque une demande de mot de passe, l’utilisation d’un chemin d’accès complet est plus sûre (que le seul nom de la commande).

Une technique utilisée par les pirates informatiques consiste à exploiter la confiance que vous avez dans le fait que lorsque vous tapez sudo, vous croyez que vous dirigez le véritable sudo.
Si un pirate informatique est en mesure d’accéder à votre compte, votre $PATH peut être modifié pour exécuter un sudo usurpé qui capture votre mot de passe saisi, affiche un message d’erreur, puis exécute le véritable sudo.
L’utilisateur pense alors « Oh, j’ai mal tapé le mot de passe. Je vais le retaper ».

conseil n°4 : Surveiller l’utilisation du sudo

Le fichier de journalisation sudo se trouve dans var/log/sudo.log.

Consultez le journal de temps en temps pour comprendre ce qu’est une activité sudo « normale » sur votre système. Notez la date/heure et les valeurs TTY dans le journal. Faites attention aux entrées de journaux bizarres ou inhabituelles. Par exemple, sudo exécuté à un moment où vous n’utilisiez pas la machine ou à partir d’un TTY non utilisé normalement.

Liens

Sudoers Manual https://www.sudo.ws/man/1.8.13/sudoers.man.html
Wikipedia http://en.wikipedia.org/wiki/Sudo
sudo in a nutshell http://www.sudo.ws/sudo/intro.html
sudo sandwich http://xkcd.com/149/
Ken Thomson http://en.wikipedia.org/wiki/Ken_Thompson
Dennis Ritchie http://en.wikipedia.org/wiki/Dennis_Ritchie