Sudo : Différence entre versions
(Page créée avec « <center><font color="red">Fichier:Warning.png '''EN COURS DE RÉDACTION Fichier:Warning.png'''</font></center> =<font color="blue">Introduction</font>= Sudo est... ») |
(→Les alias) |
||
| (9 révisions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
| − | |||
| − | |||
| − | |||
=<font color="blue">Introduction</font>= | =<font color="blue">Introduction</font>= | ||
| Ligne 24 : | Ligne 21 : | ||
contenu par défaut du fichier : | contenu par défaut du fichier : | ||
| − | < | + | <blockquote> |
| − | #<br /> | + | #<br /> |
| − | # This file MUST be edited with the 'visudo' command as root.<br /> | + | # This file MUST be edited with the 'visudo' command as root.<br /> |
| − | #<br /> | + | #<br /> |
| − | # Please consider adding local content in /etc/sudoers.d/ instead of<br /> | + | # Please consider adding local content in /etc/sudoers.d/ instead of<br /> |
| − | # directly modifying this file.<br /> | + | # directly modifying this file.<br /> |
| − | #<br /> | + | #<br /> |
| − | # See the man page for details on how to write a sudoers file.<br /> | + | # See the man page for details on how to write a sudoers file.<br /> |
| − | #<br /> | + | #<br /> |
| − | Defaults env_reset<br /> | + | Defaults env_reset<br /> |
| − | Defaults mail_badpass<br /> | + | Defaults mail_badpass<br /> |
| − | Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:$<br /><br /> | + | Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:$<br /><br /> |
| − | # Host alias specification<br /><br /> | + | # Host alias specification<br /><br /> |
| − | # User alias specification<br /><br /> | + | # User alias specification<br /><br /> |
| − | # Cmnd alias specification<br /><br /> | + | # Cmnd alias specification<br /><br /> |
| − | # User privilege specification<br /> | + | # User privilege specification<br /> |
| − | root ALL=(ALL:ALL) ALL<br /><br /> | + | root ALL=(ALL:ALL) ALL<br /><br /> |
| − | # Allow members of group sudo to execute any command<br /> | + | # Allow members of group sudo to execute any command<br /> |
| − | %sudo ALL=(ALL:ALL) ALL<br /><br /> | + | %sudo ALL=(ALL:ALL) ALL<br /><br /> |
| − | # See sudoers(5) for more information on "#include" directives:<br /><br /> | + | # See sudoers(5) for more information on "#include" directives:<br /><br /> |
| − | #includedir /etc/sudoers.d<br /> | + | #includedir /etc/sudoers.d<br /> |
| − | </ | + | </blockquote> |
| + | |||
| + | |||
| + | ==<font color="blue">Autoriser uniquement un utilisateur à avoir les droits d'exécutions</font>== | ||
| + | |||
| + | Exécuter la commande '''visudo''' puis ajoutez ceci en dessous de '''Defaults env_reset''' : | ||
| + | |||
| + | Defaults:votre_utilisateur tty_tickets | ||
| + | |||
| + | Lorsqu'un utilisateur qui n'a pas été autorisé, il aura ce message : | ||
| + | votre_utilisateur is not in the sudoers file. This incident will be reported. | ||
| + | |||
| + | ==<font color="blue">Autoriser un utilisateur a exécuter toute les commandes</font>== | ||
| + | |||
| + | adduser wiki sudo | ||
| + | |||
| + | L'utilisateur '''wiki''' pourra exécuter n'importe quelle commande '''root''' avec sudo. | ||
| Ligne 71 : | Ligne 84 : | ||
wiki ALL=NOPASSWD: ALL | wiki ALL=NOPASSWD: ALL | ||
| − | Cette méthode aura pour effet que lorsqu'un utilisateur exécutera une commande root, il n'aura pas à saisir son mot de passe | + | Cette méthode aura pour effet que lorsqu'un utilisateur exécutera une commande root, il n'aura pas à saisir son mot de passe. |
| − | + | ||
==<font color="blue">Afficher des astérisques lors de la saisie du mot de passe</font>== | ==<font color="blue">Afficher des astérisques lors de la saisie du mot de passe</font>== | ||
| Ligne 80 : | Ligne 92 : | ||
REMPLACER PAR : | REMPLACER PAR : | ||
| − | Defaults env_reset | + | Defaults env_reset,pwfeedback |
| + | |||
| + | ==<font color="blue">Les alias</font>== | ||
| + | |||
| + | Cette partie se compose de trois étapes : | ||
| + | |||
| + | Cette option vous permet de copier le fichier de configuration sur des machines présentes sur le même réseau et ainsi retrouver les mêmes autorisations, personnellement, je n'utilise pas ceci donc elle ne sera pas expliqué de façon détaillée. | ||
| + | # Host alias specification | ||
| + | |||
| + | |||
| + | Cette option vas permettre aux utilisateurs que vous allez définir d'exécuter certaines commandes. | ||
| + | # User alias specification | ||
| + | User_Alias HeadAdmin=letsgo,superg2,warhack | ||
| + | |||
| + | Cette option fonctionne avec celle cité précédemment, elle contiendra les commandes pouvant être utilisés par les utilisateurs définis dans la catégorie ci-dessus. | ||
| + | # Cmnd alias specification | ||
| + | CMD_ALLOW=/bin/ping,/usr/bin/traceroute,/usr/bin/ftp,/usr/sbin/iftop | ||
| + | |||
| + | puis dans la section , on vas ajouter la configuration que l'ont souhaite : | ||
| + | HeadAdmin ALL=(ALL) CMD_ALLOW | ||
| + | |||
| + | ==<font color="blue">Vérification des erreurs</font>== | ||
| + | |||
| + | Pensez à exécuter la commande '''sudo visudo -c''' après chaque modification pour vérifier que le fichier de configuration ne comporte pas d'erreurs. | ||
| + | sudo visudo -c | ||
| + | /etc/sudoers: parsed OK | ||
| + | /etc/sudoers.d/README: parsed OK | ||
Version actuelle en date du 5 décembre 2014 à 08:09
Sommaire
- 1 Introduction
- 2 Requis
- 3 Installer Sudo
- 3.1 Configurer Sudo
- 3.2 Autoriser uniquement un utilisateur à avoir les droits d'exécutions
- 3.3 Autoriser un utilisateur a exécuter toute les commandes
- 3.4 Ajouter un utilisateur avec un mot de passe
- 3.5 Ajouter un utilisateur sans mot de passe
- 3.6 Afficher des astérisques lors de la saisie du mot de passe
- 3.7 Les alias
- 3.8 Vérification des erreurs
Introduction
Sudo est un très bon compromis pour autoriser certains utilisateurs à exécuter des commandes qui demande les droits de ROOT.
Requis
Installer Sudo
L'installation est assez simple :
apt-get install sudo
Configurer Sudo
Cette étape est primordiale et recommandé car visudo vas vérifier le fichier /etc/sudoers.
visudo
contenu par défaut du fichier :
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:$
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
Autoriser uniquement un utilisateur à avoir les droits d'exécutions
Exécuter la commande visudo puis ajoutez ceci en dessous de Defaults env_reset :
Defaults:votre_utilisateur tty_tickets
Lorsqu'un utilisateur qui n'a pas été autorisé, il aura ce message :
votre_utilisateur is not in the sudoers file. This incident will be reported.
Autoriser un utilisateur a exécuter toute les commandes
adduser wiki sudo
L'utilisateur wiki pourra exécuter n'importe quelle commande root avec sudo.
Ajouter un utilisateur avec un mot de passe
Exécuter la commande visudo puis ajoutez ceci en dessous de root ALL=(ALL:ALL) ALL :
wiki ALL=(ALL:ALL) ALL
wiki est l'utilisateur de notre tutoriel donc pensez à le modifier et non à simplement copier/coller. ;)
Cette méthode aura pour effet que lorsqu'un utilisateur exécutera une commande root, il devra saisir son mot de passe pour que l'exécution se fasse.
Ajouter un utilisateur sans mot de passe
Exécuter la commande visudo puis ajoutez ceci en dessous de root ALL=(ALL:ALL) ALL :
wiki ALL=NOPASSWD: ALL
Cette méthode aura pour effet que lorsqu'un utilisateur exécutera une commande root, il n'aura pas à saisir son mot de passe.
Afficher des astérisques lors de la saisie du mot de passe
Exécuter la commande 'visudo, chercher la la ligne :
Defaults env_reset
REMPLACER PAR :
Defaults env_reset,pwfeedback
Les alias
Cette partie se compose de trois étapes :
Cette option vous permet de copier le fichier de configuration sur des machines présentes sur le même réseau et ainsi retrouver les mêmes autorisations, personnellement, je n'utilise pas ceci donc elle ne sera pas expliqué de façon détaillée.
# Host alias specification
Cette option vas permettre aux utilisateurs que vous allez définir d'exécuter certaines commandes.
# User alias specification User_Alias HeadAdmin=letsgo,superg2,warhack
Cette option fonctionne avec celle cité précédemment, elle contiendra les commandes pouvant être utilisés par les utilisateurs définis dans la catégorie ci-dessus.
# Cmnd alias specification CMD_ALLOW=/bin/ping,/usr/bin/traceroute,/usr/bin/ftp,/usr/sbin/iftop
puis dans la section , on vas ajouter la configuration que l'ont souhaite :
HeadAdmin ALL=(ALL) CMD_ALLOW
Vérification des erreurs
Pensez à exécuter la commande sudo visudo -c après chaque modification pour vérifier que le fichier de configuration ne comporte pas d'erreurs.
sudo visudo -c /etc/sudoers: parsed OK /etc/sudoers.d/README: parsed OK