Root et Wheel
La commande su permet de basculer sur un autre compte utilisateur.
Les options de su
Différences entre su, su - et su -i:
su <user>: démarre un shell sans connexion- Lance un shell sous l’identité de de l’utilisateur voulu en conservant les paramètres d’environnement courants
su - <user>: lance un shell de connexion (sipas précisé, se connecte en root)- Configure l’environnement shell comme s’il s’agissait d’une nouvelle connexion sous l’identité voulue
sudo -i: bascule vers le compte root et exécute son shell par défaut
Droits spéciaux avec sudoers et sudoers.d
Syntaxe
La syntaxe du fichier pour la section User Privilege est :
Utilisateur hôte=(utilisateur:groupe) /chemin/commande |
Dans ces deux exemples :
root ALL=(ALL:ALL) ALL |
L’utilisateur root et le groupe %wheel sont configurés comme tels :
- hôte →
ALL: la règle s’applique à tous les hôtes - utilisateur →
ALL: le ou les utilisateur(s) dont on prend les droits - %groupe →
ALL: le ou les groupe(s) dont on prend les droits - commande →
ALL: le ou les commande(s) que utilisateur ou %groupe peut exécuter
Configuration des groupes
Le fichier /etc/sudoers et le répertoire /etc/sudoers.d/ permettent de configurer les utilisateurs pouvant avoir accès à la commande sudo.
# cat /etc/sudoers |
Dans les exemples ci-dessus :
%ripper prod=(ALL) /usr/sbin/ripper%ripper: le grouperipperprod: sur l’hôteprodALL: peut exécuter des commandes en tant que n’importe quel utilisateur/usr/sbin/ripper: peut lancer le scriptripper
%karaoke dev=(metal:chanteur) /usr/sbin/deathmetal%karaoke: le groupekaraokedev: sur l’hôtedevmetal: peut exécuter des commandes en tant qu’utilisateurmetalchanteurs: peut exécuter des commandes en tant que groupechanteurs/usr/sbin/metal/deathmetal, /usr/sbin/chanteurs/voice: peuvent lancer le scriptdeathmetaletvoice
Configuration pour des utilisateurs
Il faut créer un fichier correspondant à l’username de l’utilisateur dans le répertoire /etc/sudoers.d/.
Pour donner les droits sudo à l’utilisateur john-adm, on lui crée un fichier spécifique /etc/sudoers.d/john-adm et on y inscrit :
john-adm ALL=(ALL) ALL |
Autre exemples :
(@soon)
/!\ Résumé des commandes
Commandes :
# su <username> // basculer vers un autre compte avec son shell par défaut |
Fichiers :
/etc/sudoers // Ajouter des privilèges ou restrictions |
Donner les droits sudo à un utilisateur, le fichier et la syntaxe sont :
# cat /etc/sudoers.d/john-adm |
Cas pratique
Accès au répertoire /root:
[aline@SERVER01 ~]$ ls /root/ |
Création d’un fichier /etc/sudoers.d/admin pour que le groupe admin dispose de tous les privilèges :
[root@SERVER01 ~]# vi /etc/sudoers.d/admin |
Vérification :
[aline@SERVER01 ~]$ sudo ls /root/ |
Car l’utilisateur appartient au groupe admin :
[aline@SERVER01 ~]$ id |
Documentation
MAN su(1)
MAN sudo(8)
MAN visudo(8)
MAN sudoers(5)
https://www.digitalocean.com/community/tutorials/how-to-edit-the-sudoers-file-fr
https://n0tes.fr/2022/01/20/Le-fichier-sudoers/
Remerciements
WaM
Merci à WaM pour le complément d'informations
S0410N3
Merci à S0410N3 pour le complément d'informations