SlideShare une entreprise Scribd logo
1  sur  7
Télécharger pour lire hors ligne
Comprendre la Commande SUDO et Le Fichier /etc/sudoers
SUDO ET LE FICHIER /ETC/SUDOERS M. PAPE M. SONKO, INGENIEUR SYSTEMES ET RESEAUX
1
COMPRENDRE LA COMMANDE SUDO ET LE FICHIER /ETC/SUDOERS
SOMMAIRE :
I. Comprendre la commande sudo
I.1. Le fichier "/etc/sudoers"
II. Les Alias de machines, utilisateurs et commandes
II.1. Alias d’Utilisateur
II.2. Alias de Commande
III. Exclure un Utilisateur
IV. Afficher le Message de Speech SUDO
IV.1. Personnaliser le message de Speech SUDO
V. Exécuter une commande sans mot de passe
Comprendre la Commande SUDO et Le Fichier /etc/sudoers
SUDO ET LE FICHIER /ETC/SUDOERS M. PAPE M. SONKO, INGENIEUR SYSTEMES ET RESEAUX
2
I. Comprendre la commande sudo
Habituellement la commande "sudo" nous permet de lancer des commandes en tant que
root.
" sudo -l " permet d'afficher les droits d'un utilisateur (Quelles commandes il peut utiliser en
tant que root avec "sudo").
La commande "id" est très utile pour afficher les informations sur un utilisateur (uid, gid,
nom_groupes). L'ID (uid, gid) de l’utilisateur root est "0".
On peut mettre un utilisateur dans le groupe "sudo" (id: 27) pour pouvoir exécuter des
commandes préfixées de "sudo" avec cet utilisateur.
I.1. Le fichier "/etc/sudoers"
Le fichier qui permet de définir quel utilisateur peut faire quoi, est le fichier "/etc/sudoers".
C'est ce fichier qui permet de définir ce qu'un utilisateur peut faire avec la commande
"sudo".
Pour éviter les erreurs et les accès concurrents, il est recommandé d'utiliser "visudo" pour
éditer le fichier "/etc/sudoers".
#--Edition du fichier "/etc/sudoers"
 sudo visudo
#--Signifie : Tous les utilisateurs du groupe sudo auront le droit d'exécuter toutes les commandes.
%sudo ALL = (ALL : ALL) ALL
Explications de la Syntaxe :
-Le premier paramètre peut être un nom d'utilisateur, ou un nom de groupe (dans ce cas, il
sera précédé du caractère "%" (tous)).
-Le second paramètre "ALL" de cette règle, désigne la machine concernée par cette règle
(Elle peut être locale ou distante), donc on pourra déployer le même fichier "sudoers" sur
plein de machines.
-Le troisième et le quatrième paramètre "ALL : ALL" permettent de mentionner l'utilisateur
et le groupe auxquels on va hériter leurs droits (le paramètre "ALL" inclut l’utilisateur "root"
aussi).
-Et le cinquième paramètre lui design la commande autorisée par cette règle.
Comprendre la Commande SUDO et Le Fichier /etc/sudoers
SUDO ET LE FICHIER /ETC/SUDOERS M. PAPE M. SONKO, INGENIEUR SYSTEMES ET RESEAUX
3
#--Signifie : L'utilisateur "moussa" aura le droit de lancer uniquement la commande "id" avec "sudo".
On spécifiera le chemin complet de la commande qu'on obtiendra avec "which" (exemple : which id).
 moussa ALL=(ALL:ALL) /usr/bin/id
#--On se connecte en tant que moussa, et là on pourra exécuter (sudo id).
 su - moussa → id
 sudo visudo #--Edition du fichier "/etc/sudoers"
#--On autorise l'utilisateur "moussa" de pouvoir exécuter la commande "vi" en plus de la
commande "id".
 moussa ALL=(ALL:ALL) /usr/bin/id, /usr/bin/ vi
#--On limite l'utilisateur "moussa" à utiliser la commande "vi" sans paramètres grâce aux
guillemets vides : il ne pourra pas faire ("vi /etc/passwd" par exemple).
 moussa ALL=(ALL:ALL) /usr/bin/id, /usr/bin/vi ""
NB : Cependant, le programme "vi" peut exécuter "des programmes", par exemple on peut
exécuter(sudo bash, ce qui lancera le Shell en tant que "root" à cause du "sudo"). Et cela pose
un réel problème de sécurité, car dès qu'on a le droit d'exécuter "vi" en tant que root, cela
nous donnes la possibilité d'exécuter d'autres commandes sans quitter "vi" (Exemple :
« :!/bin/bash ») et là, nous devenons root. Et pour éviter ce problème, la solution c'est
d'utiliser l'option "NOEXEC : /usr/bin/vi" qui permettra de lancer "vi", mais n'autorisera pas
cette dernière à lancer une autre commande.
#--L'option "NOEXEC" permet d'exécuter "vi", mais empêche à cette dernière de pouvoir
lancer une autre commande par la suite.
 moussa ALL=(ALL:ALL) /usr/bin/id, NOEXEC: /usr/bin/vi
Cependant, toutes les commandes ne peuvent pas être exécutées avec l'option "NOEXEC"
car, certaines commandes doivent lancer d'autres commandes pour fonctionner
correctement.
Comprendre la Commande SUDO et Le Fichier /etc/sudoers
SUDO ET LE FICHIER /ETC/SUDOERS M. PAPE M. SONKO, INGENIEUR SYSTEMES ET RESEAUX
4
Nous avons la possibilité de définir une règle qui nous permet de lancer une commande sous
l'identité d'un utilisateur spécifique. On rencontre cela, quand on aura des logiciels qui ont
besoin d'exécuter des scripts. Et on aura besoin d'exécuter des scripts d'administration de
ces logiciels en tant que l'utilisateur associé à ce logiciel.
Au lieu de faire un "su nom_utilisateur" et de taper le mot de passe, on peut le mettre dans
le fichier "sudoers".
#--L'utilisateur "moussa" pourra exécuter "sudo echo bonjour" sans la préfixer de sudo.
 moussa ALL=(ALL:ALL) /bin/echo bonjour
#--Les utilisateurs "moussa" et "pape" peuvent exécuter la commande "echo bonsoir" sans la
préfixer de sudo.
 moussa, pape ALL=(ALL:ALL) /bin/echo bonsoir
#--Les utilisateurs "moussa" et les membres du groupe "sudo", peuvent exécuter la
commande "echo salut" sans la préfixer de sudo.
 moussa, %sudo ALL=(ALL:ALL) /bin/echo salut
II. Les Alias de machines, utilisateurs et commandes
Nous avons la possibilité d'utiliser des (Alias de Machines, d'Utilisateurs et de Commandes)
pour gérer le fichier "/etc/sudoers" quand le nombre d'utilisateurs devient importants. Les
Alias sont des regroupements de noms d'utilisateurs, de machines ou de groupes qu'on va
pouvoir utiliser à la place d'un simple utilisateur.
II.1. Alias d’Utilisateur
Il est impératif que le nom de l'alias commence par une majuscule (En général, on le met
tout en majuscule).
#--Création d'un alias d'utilisateur (ADMIN) qui contient les utilisateurs "pape" et "moussa".
 User_Alias ADMIN= pape, moussa
Comprendre la Commande SUDO et Le Fichier /etc/sudoers
SUDO ET LE FICHIER /ETC/SUDOERS M. PAPE M. SONKO, INGENIEUR SYSTEMES ET RESEAUX
5
II.2. Alias de Commande
#--On autorise les commandes "adduser" et "passwd" avec l'alias (USERS).
 Cmnd_Alias USERS= /usr/sbin/adduser, /usr/bin/passwd
#--Création d'un deuxième alias (TEST) pour les commandes ("echo", "id", et "vi").
 Cmnd_Alias TEST= /bin/echo, /usr/bin/id, /usr/bin/vi
#--L'utilisateur "moussa" pourra exécuter les commandes de l'alias TEST.
 moussa ALL=(ALL:ALL) NOEXEC: TEST
#--Les utilisateurs de l'alias d'utilisateurs ADMIN peuvent exécuter toutes les commandes de
l’alias de commandes USERS.
 ADMIN ALL=(ALL:ALL) USERS
#--Permet de lister les commandes que l'utilisateur "moussa" pourra exécuter avec "sudo".
 su - moussa --> sudo -l
NB : Quand un utilisateur est mentionné plusieurs fois dans le fichier "/etc/sudoers", la règle
qui va fonctionner c'est la dernière règle qui va correspondre. Donc l'ordre des commandes
dans le fichier "/etc/sudoers" est extrêmement important.
III. Exclure un Utilisateur
#--Tous les membres du groupe "sudo" peuvent exécuter toutes les commandes sauf
l’utilisateur "pape". La négation est exprimée grâce au point d'exclamation "!" placé devant
le nom de l’utilisateur.
 %sudo, !pape ALL=(ALL:ALL) ALL
Comprendre la Commande SUDO et Le Fichier /etc/sudoers
SUDO ET LE FICHIER /ETC/SUDOERS M. PAPE M. SONKO, INGENIEUR SYSTEMES ET RESEAUX
6
NB : Et c'est un petit peu pareil pour les noms de machines que l'on va mettre sous forme
d'une liste, on peut les faire sous la forme d'un alias et faire aussi des exclusions avec le
point d'exclamation. Et pour les commandes, il est déconseillé d'utiliser une négation car, on
risque par conséquence d'autoriser des commandes qu’on n’aimerait pas autoriser.
#--On lance la commande id sous l'identité de l'utilisateur "moussa" (affichera les
commandes que l’utilisateur "moussa" pourra exécuter).
 sudo -u moussa id
#--L'utilisateur "moussa" pourra exécuter exclusivement en tant que "pape" la commande
"vi". Cela va nous permettre de créer des utilisateurs qui vont pouvoir lancer des scripts sous
l'identité d'un autre utilisateur sans que l'utilisateur en question ne puisse devenir "root".
 moussa ALL=(pape) NOEXEC: /usr/bin/vi
IV. Afficher le Message de Speech SUDO :
#--Permet de toujours afficher le message de Speech à chaque connexion (après le
timestamp qui est de 15mn par défaut).
 Defaults lecture = always
#--Permet de mettre à 0 le temps de rétention du mot de passe (Par défaut 15min) afin que le
système nous demande de taper notre mot de passe à chaque commande.
 Defaults timestamp_timeout = 0
#--Afficher une phrase "insultante" lorsqu'on se trompera sur notre mot de passe (Par
défaut, les insultes sont désactivées).
 Defaults insults
#--On désactive le message de Speech pour l'utilisateur "moussa".
 Defaults:moussa !lecture
#--On désactive le message de Speech pour les utilisateurs "moussa" et "pape".
 Defaults:moussa, pape !lecture
Comprendre la Commande SUDO et Le Fichier /etc/sudoers
SUDO ET LE FICHIER /ETC/SUDOERS M. PAPE M. SONKO, INGENIEUR SYSTEMES ET RESEAUX
7
IV.1. Personnaliser le message de Speech SUDO
#--On personnalise le message de Speech pour la commande "fdisk". On créera d'abord le
fichier contenant le message(/tmp/fdisk-lecture).
 Defaults!/sbin/fdisk lecture_file = /tmp/fdisk-lecture
V. Exécuter une commande sans mot de passe
#--L'utilisateur "moussa" pourra exécuter la commande "id" sans mot de passe grâce à
l'option NOPASSWD. Cela peut être pratique lorsqu'on aura à exécuter des scripts qui
pourraient avoir des privilèges que temporairement.
 moussa ALL=(ALL) NOPASSWD: /usr/bin/id

Contenu connexe

Tendances

Administration des services réseaux
Administration des services réseauxAdministration des services réseaux
Administration des services réseaux
Fethi Kiwa
 
Temel kullanici gruplari
Temel kullanici gruplariTemel kullanici gruplari
Temel kullanici gruplari
mimarsinantl
 
Xen Project Contributor Training Part 3 - Communication v1.0
Xen Project Contributor Training Part 3 - Communication v1.0Xen Project Contributor Training Part 3 - Communication v1.0
Xen Project Contributor Training Part 3 - Communication v1.0
The Linux Foundation
 

Tendances (20)

Windows Server 2008 Active Directory
Windows Server 2008 Active DirectoryWindows Server 2008 Active Directory
Windows Server 2008 Active Directory
 
Administration des services réseaux
Administration des services réseauxAdministration des services réseaux
Administration des services réseaux
 
09 01 configuration du serveur samba
09 01 configuration du serveur samba09 01 configuration du serveur samba
09 01 configuration du serveur samba
 
Manuel des TP : Atelier systèmes 2
Manuel des TP : Atelier systèmes 2Manuel des TP : Atelier systèmes 2
Manuel des TP : Atelier systèmes 2
 
LES RESEAUX INFORMATIQUES.pdf
LES RESEAUX INFORMATIQUES.pdfLES RESEAUX INFORMATIQUES.pdf
LES RESEAUX INFORMATIQUES.pdf
 
Nfs
NfsNfs
Nfs
 
Projet reseau-de-kherfallah-ipm-2010-2011
Projet reseau-de-kherfallah-ipm-2010-2011Projet reseau-de-kherfallah-ipm-2010-2011
Projet reseau-de-kherfallah-ipm-2010-2011
 
Temel kullanici gruplari
Temel kullanici gruplariTemel kullanici gruplari
Temel kullanici gruplari
 
mise en place de service dhcp sous Ubuntu 20.04
mise en place de service dhcp sous Ubuntu 20.04mise en place de service dhcp sous Ubuntu 20.04
mise en place de service dhcp sous Ubuntu 20.04
 
Yum (Linux)
Yum (Linux) Yum (Linux)
Yum (Linux)
 
Presentation aix basic
Presentation   aix basicPresentation   aix basic
Presentation aix basic
 
alphorm.com - Formation Linux LPIC-1/Comptia Linux+
alphorm.com - Formation Linux LPIC-1/Comptia Linux+alphorm.com - Formation Linux LPIC-1/Comptia Linux+
alphorm.com - Formation Linux LPIC-1/Comptia Linux+
 
Dns ppt
Dns pptDns ppt
Dns ppt
 
Xen Project Contributor Training Part 3 - Communication v1.0
Xen Project Contributor Training Part 3 - Communication v1.0Xen Project Contributor Training Part 3 - Communication v1.0
Xen Project Contributor Training Part 3 - Communication v1.0
 
Active Directory
Active DirectoryActive Directory
Active Directory
 
Alphorm.com : Formation Active directory 2008 R2 (70-640)
Alphorm.com : Formation Active directory 2008 R2 (70-640)Alphorm.com : Formation Active directory 2008 R2 (70-640)
Alphorm.com : Formation Active directory 2008 R2 (70-640)
 
20120612 04 - Les différentes facettes de la securité. La vision IBM
20120612 04 - Les différentes facettes de la securité. La vision IBM20120612 04 - Les différentes facettes de la securité. La vision IBM
20120612 04 - Les différentes facettes de la securité. La vision IBM
 
Preguntas 17 09-13
Preguntas 17 09-13Preguntas 17 09-13
Preguntas 17 09-13
 
Rapport de stage bts
Rapport de stage btsRapport de stage bts
Rapport de stage bts
 
Zabbix, garder un oeil toujours ouvert
Zabbix, garder un oeil toujours ouvertZabbix, garder un oeil toujours ouvert
Zabbix, garder un oeil toujours ouvert
 

Similaire à Comprendre Sudo et Le fichier etc-sudoers-PM_SONKO.pdf

3.0 install de ubuntu server + tasksel + ftp
3.0 install de ubuntu server + tasksel + ftp3.0 install de ubuntu server + tasksel + ftp
3.0 install de ubuntu server + tasksel + ftp
Osi Pallière
 
6.0 modif repertoire destination vsftpd
6.0 modif repertoire destination vsftpd6.0 modif repertoire destination vsftpd
6.0 modif repertoire destination vsftpd
Osi Pallière
 

Similaire à Comprendre Sudo et Le fichier etc-sudoers-PM_SONKO.pdf (20)

3.0 install de ubuntu server + tasksel + ftp
3.0 install de ubuntu server + tasksel + ftp3.0 install de ubuntu server + tasksel + ftp
3.0 install de ubuntu server + tasksel + ftp
 
Rapport administration systèmes et supervision réseaux tp4 diabang master1 tr
Rapport administration systèmes et supervision réseaux tp4 diabang master1 trRapport administration systèmes et supervision réseaux tp4 diabang master1 tr
Rapport administration systèmes et supervision réseaux tp4 diabang master1 tr
 
Deploiement de OpenSSH Server
Deploiement de OpenSSH ServerDeploiement de OpenSSH Server
Deploiement de OpenSSH Server
 
s de base
s de bases de base
s de base
 
Tp n 4 linux
Tp n 4 linuxTp n 4 linux
Tp n 4 linux
 
les Commandes linux/Unix (giants networks)
les Commandes linux/Unix (giants networks)les Commandes linux/Unix (giants networks)
les Commandes linux/Unix (giants networks)
 
Création des utlisateurs et groupe sur kali.pdf
Création des utlisateurs et groupe sur kali.pdfCréation des utlisateurs et groupe sur kali.pdf
Création des utlisateurs et groupe sur kali.pdf
 
Mise en place de service NFS ubuntu 22.pdf
Mise en place de service NFS  ubuntu 22.pdfMise en place de service NFS  ubuntu 22.pdf
Mise en place de service NFS ubuntu 22.pdf
 
Rapport du stage
Rapport du stageRapport du stage
Rapport du stage
 
Nagios twil
Nagios twilNagios twil
Nagios twil
 
2020 (1)
2020 (1)2020 (1)
2020 (1)
 
La programmation systéme en langage C sous UNIX
La programmation systéme en langage C sous UNIXLa programmation systéme en langage C sous UNIX
La programmation systéme en langage C sous UNIX
 
Routage protocole
Routage protocoleRoutage protocole
Routage protocole
 
6.0 modif repertoire destination vsftpd
6.0 modif repertoire destination vsftpd6.0 modif repertoire destination vsftpd
6.0 modif repertoire destination vsftpd
 
Installer zpanel sur un serveur linux en 5 minutes
Installer zpanel sur un serveur linux en 5 minutesInstaller zpanel sur un serveur linux en 5 minutes
Installer zpanel sur un serveur linux en 5 minutes
 
Boot
BootBoot
Boot
 
Sécuriser votre système GNU/Linux
Sécuriser votre système GNU/LinuxSécuriser votre système GNU/Linux
Sécuriser votre système GNU/Linux
 
openssh
opensshopenssh
openssh
 
Résumé sur l’utilisation du système unix
Résumé sur l’utilisation du système unixRésumé sur l’utilisation du système unix
Résumé sur l’utilisation du système unix
 
Snort implementation
Snort implementationSnort implementation
Snort implementation
 

Comprendre Sudo et Le fichier etc-sudoers-PM_SONKO.pdf

  • 1. Comprendre la Commande SUDO et Le Fichier /etc/sudoers SUDO ET LE FICHIER /ETC/SUDOERS M. PAPE M. SONKO, INGENIEUR SYSTEMES ET RESEAUX 1 COMPRENDRE LA COMMANDE SUDO ET LE FICHIER /ETC/SUDOERS SOMMAIRE : I. Comprendre la commande sudo I.1. Le fichier "/etc/sudoers" II. Les Alias de machines, utilisateurs et commandes II.1. Alias d’Utilisateur II.2. Alias de Commande III. Exclure un Utilisateur IV. Afficher le Message de Speech SUDO IV.1. Personnaliser le message de Speech SUDO V. Exécuter une commande sans mot de passe
  • 2. Comprendre la Commande SUDO et Le Fichier /etc/sudoers SUDO ET LE FICHIER /ETC/SUDOERS M. PAPE M. SONKO, INGENIEUR SYSTEMES ET RESEAUX 2 I. Comprendre la commande sudo Habituellement la commande "sudo" nous permet de lancer des commandes en tant que root. " sudo -l " permet d'afficher les droits d'un utilisateur (Quelles commandes il peut utiliser en tant que root avec "sudo"). La commande "id" est très utile pour afficher les informations sur un utilisateur (uid, gid, nom_groupes). L'ID (uid, gid) de l’utilisateur root est "0". On peut mettre un utilisateur dans le groupe "sudo" (id: 27) pour pouvoir exécuter des commandes préfixées de "sudo" avec cet utilisateur. I.1. Le fichier "/etc/sudoers" Le fichier qui permet de définir quel utilisateur peut faire quoi, est le fichier "/etc/sudoers". C'est ce fichier qui permet de définir ce qu'un utilisateur peut faire avec la commande "sudo". Pour éviter les erreurs et les accès concurrents, il est recommandé d'utiliser "visudo" pour éditer le fichier "/etc/sudoers". #--Edition du fichier "/etc/sudoers"  sudo visudo #--Signifie : Tous les utilisateurs du groupe sudo auront le droit d'exécuter toutes les commandes. %sudo ALL = (ALL : ALL) ALL Explications de la Syntaxe : -Le premier paramètre peut être un nom d'utilisateur, ou un nom de groupe (dans ce cas, il sera précédé du caractère "%" (tous)). -Le second paramètre "ALL" de cette règle, désigne la machine concernée par cette règle (Elle peut être locale ou distante), donc on pourra déployer le même fichier "sudoers" sur plein de machines. -Le troisième et le quatrième paramètre "ALL : ALL" permettent de mentionner l'utilisateur et le groupe auxquels on va hériter leurs droits (le paramètre "ALL" inclut l’utilisateur "root" aussi). -Et le cinquième paramètre lui design la commande autorisée par cette règle.
  • 3. Comprendre la Commande SUDO et Le Fichier /etc/sudoers SUDO ET LE FICHIER /ETC/SUDOERS M. PAPE M. SONKO, INGENIEUR SYSTEMES ET RESEAUX 3 #--Signifie : L'utilisateur "moussa" aura le droit de lancer uniquement la commande "id" avec "sudo". On spécifiera le chemin complet de la commande qu'on obtiendra avec "which" (exemple : which id).  moussa ALL=(ALL:ALL) /usr/bin/id #--On se connecte en tant que moussa, et là on pourra exécuter (sudo id).  su - moussa → id  sudo visudo #--Edition du fichier "/etc/sudoers" #--On autorise l'utilisateur "moussa" de pouvoir exécuter la commande "vi" en plus de la commande "id".  moussa ALL=(ALL:ALL) /usr/bin/id, /usr/bin/ vi #--On limite l'utilisateur "moussa" à utiliser la commande "vi" sans paramètres grâce aux guillemets vides : il ne pourra pas faire ("vi /etc/passwd" par exemple).  moussa ALL=(ALL:ALL) /usr/bin/id, /usr/bin/vi "" NB : Cependant, le programme "vi" peut exécuter "des programmes", par exemple on peut exécuter(sudo bash, ce qui lancera le Shell en tant que "root" à cause du "sudo"). Et cela pose un réel problème de sécurité, car dès qu'on a le droit d'exécuter "vi" en tant que root, cela nous donnes la possibilité d'exécuter d'autres commandes sans quitter "vi" (Exemple : « :!/bin/bash ») et là, nous devenons root. Et pour éviter ce problème, la solution c'est d'utiliser l'option "NOEXEC : /usr/bin/vi" qui permettra de lancer "vi", mais n'autorisera pas cette dernière à lancer une autre commande. #--L'option "NOEXEC" permet d'exécuter "vi", mais empêche à cette dernière de pouvoir lancer une autre commande par la suite.  moussa ALL=(ALL:ALL) /usr/bin/id, NOEXEC: /usr/bin/vi Cependant, toutes les commandes ne peuvent pas être exécutées avec l'option "NOEXEC" car, certaines commandes doivent lancer d'autres commandes pour fonctionner correctement.
  • 4. Comprendre la Commande SUDO et Le Fichier /etc/sudoers SUDO ET LE FICHIER /ETC/SUDOERS M. PAPE M. SONKO, INGENIEUR SYSTEMES ET RESEAUX 4 Nous avons la possibilité de définir une règle qui nous permet de lancer une commande sous l'identité d'un utilisateur spécifique. On rencontre cela, quand on aura des logiciels qui ont besoin d'exécuter des scripts. Et on aura besoin d'exécuter des scripts d'administration de ces logiciels en tant que l'utilisateur associé à ce logiciel. Au lieu de faire un "su nom_utilisateur" et de taper le mot de passe, on peut le mettre dans le fichier "sudoers". #--L'utilisateur "moussa" pourra exécuter "sudo echo bonjour" sans la préfixer de sudo.  moussa ALL=(ALL:ALL) /bin/echo bonjour #--Les utilisateurs "moussa" et "pape" peuvent exécuter la commande "echo bonsoir" sans la préfixer de sudo.  moussa, pape ALL=(ALL:ALL) /bin/echo bonsoir #--Les utilisateurs "moussa" et les membres du groupe "sudo", peuvent exécuter la commande "echo salut" sans la préfixer de sudo.  moussa, %sudo ALL=(ALL:ALL) /bin/echo salut II. Les Alias de machines, utilisateurs et commandes Nous avons la possibilité d'utiliser des (Alias de Machines, d'Utilisateurs et de Commandes) pour gérer le fichier "/etc/sudoers" quand le nombre d'utilisateurs devient importants. Les Alias sont des regroupements de noms d'utilisateurs, de machines ou de groupes qu'on va pouvoir utiliser à la place d'un simple utilisateur. II.1. Alias d’Utilisateur Il est impératif que le nom de l'alias commence par une majuscule (En général, on le met tout en majuscule). #--Création d'un alias d'utilisateur (ADMIN) qui contient les utilisateurs "pape" et "moussa".  User_Alias ADMIN= pape, moussa
  • 5. Comprendre la Commande SUDO et Le Fichier /etc/sudoers SUDO ET LE FICHIER /ETC/SUDOERS M. PAPE M. SONKO, INGENIEUR SYSTEMES ET RESEAUX 5 II.2. Alias de Commande #--On autorise les commandes "adduser" et "passwd" avec l'alias (USERS).  Cmnd_Alias USERS= /usr/sbin/adduser, /usr/bin/passwd #--Création d'un deuxième alias (TEST) pour les commandes ("echo", "id", et "vi").  Cmnd_Alias TEST= /bin/echo, /usr/bin/id, /usr/bin/vi #--L'utilisateur "moussa" pourra exécuter les commandes de l'alias TEST.  moussa ALL=(ALL:ALL) NOEXEC: TEST #--Les utilisateurs de l'alias d'utilisateurs ADMIN peuvent exécuter toutes les commandes de l’alias de commandes USERS.  ADMIN ALL=(ALL:ALL) USERS #--Permet de lister les commandes que l'utilisateur "moussa" pourra exécuter avec "sudo".  su - moussa --> sudo -l NB : Quand un utilisateur est mentionné plusieurs fois dans le fichier "/etc/sudoers", la règle qui va fonctionner c'est la dernière règle qui va correspondre. Donc l'ordre des commandes dans le fichier "/etc/sudoers" est extrêmement important. III. Exclure un Utilisateur #--Tous les membres du groupe "sudo" peuvent exécuter toutes les commandes sauf l’utilisateur "pape". La négation est exprimée grâce au point d'exclamation "!" placé devant le nom de l’utilisateur.  %sudo, !pape ALL=(ALL:ALL) ALL
  • 6. Comprendre la Commande SUDO et Le Fichier /etc/sudoers SUDO ET LE FICHIER /ETC/SUDOERS M. PAPE M. SONKO, INGENIEUR SYSTEMES ET RESEAUX 6 NB : Et c'est un petit peu pareil pour les noms de machines que l'on va mettre sous forme d'une liste, on peut les faire sous la forme d'un alias et faire aussi des exclusions avec le point d'exclamation. Et pour les commandes, il est déconseillé d'utiliser une négation car, on risque par conséquence d'autoriser des commandes qu’on n’aimerait pas autoriser. #--On lance la commande id sous l'identité de l'utilisateur "moussa" (affichera les commandes que l’utilisateur "moussa" pourra exécuter).  sudo -u moussa id #--L'utilisateur "moussa" pourra exécuter exclusivement en tant que "pape" la commande "vi". Cela va nous permettre de créer des utilisateurs qui vont pouvoir lancer des scripts sous l'identité d'un autre utilisateur sans que l'utilisateur en question ne puisse devenir "root".  moussa ALL=(pape) NOEXEC: /usr/bin/vi IV. Afficher le Message de Speech SUDO : #--Permet de toujours afficher le message de Speech à chaque connexion (après le timestamp qui est de 15mn par défaut).  Defaults lecture = always #--Permet de mettre à 0 le temps de rétention du mot de passe (Par défaut 15min) afin que le système nous demande de taper notre mot de passe à chaque commande.  Defaults timestamp_timeout = 0 #--Afficher une phrase "insultante" lorsqu'on se trompera sur notre mot de passe (Par défaut, les insultes sont désactivées).  Defaults insults #--On désactive le message de Speech pour l'utilisateur "moussa".  Defaults:moussa !lecture #--On désactive le message de Speech pour les utilisateurs "moussa" et "pape".  Defaults:moussa, pape !lecture
  • 7. Comprendre la Commande SUDO et Le Fichier /etc/sudoers SUDO ET LE FICHIER /ETC/SUDOERS M. PAPE M. SONKO, INGENIEUR SYSTEMES ET RESEAUX 7 IV.1. Personnaliser le message de Speech SUDO #--On personnalise le message de Speech pour la commande "fdisk". On créera d'abord le fichier contenant le message(/tmp/fdisk-lecture).  Defaults!/sbin/fdisk lecture_file = /tmp/fdisk-lecture V. Exécuter une commande sans mot de passe #--L'utilisateur "moussa" pourra exécuter la commande "id" sans mot de passe grâce à l'option NOPASSWD. Cela peut être pratique lorsqu'on aura à exécuter des scripts qui pourraient avoir des privilèges que temporairement.  moussa ALL=(ALL) NOPASSWD: /usr/bin/id