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 grouperipper
prod
: sur l’hôteprod
ALL
: 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 groupekaraoke
dev
: sur l’hôtedev
metal
: peut exécuter des commandes en tant qu’utilisateurmetal
chanteurs
: peut exécuter des commandes en tant que groupechanteurs
/usr/sbin/metal/deathmetal, /usr/sbin/chanteurs/voice
: peuvent lancer le scriptdeathmetal
etvoice
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