nouvelles
Serverspace Technologies aux Emirats Arabes Unis : Lancement de Falconcloud
WB
William Bell
Le 4 juin 2020
Mise à jour en juin 7, 2023

Debian droits de superutilisateur (sudo, visudo)

Debian Linux

Informations générales.

Linux les systèmes d'exploitation implémentent le principe de différenciation des privilèges utilisateur, ce qui signifie que différents comptes ont des quantités différentes de droits d'accès aux répertoires, fichiers et programs. Les droits maximum sont accordés au compte racine intégré. Les comptes d'utilisateurs nouvellement créés sont généralement considérablement limités dans l'accès aux fichiers de configuration du système, la gestion des services et l'installation et la suppression de packages logiciels. Cependant, travailler dans le système d'exploitation sous le compte root est fortement déconseillé, principalement pour des raisons de sécurité. Dans ce cas, le sudo L'utilitaire de ligne de commande vient à la rescousse.

La commande sudo permet d'exécuter des commandes individuelles avec des privilèges accrus (par défaut, avec des droits root) à l'aide d'un compte non privilégié. Voyons ce qui est requis pour que cet utilitaire fonctionne.

Installation et configuration

In Ubuntu OS, sudo est activé par défaut, et dans Debian, si le package correspondant n'a pas été sélectionné lors du processus d'installation, l'image suivante sera très probablement :

root@debian10:~# sudo
-bash: sudo: command not found

Vous devez donc installer le package manquant. Mettez à jour les informations du référentiel et installez sudo :

apt-get update
apt-get install sudo

Nous attendons la fin du processus :

Debian superuser rights
Capture d'écran №1. Debian droits de superutilisateur

Après une installation réussie, vous devrez configurer sudo pour déterminer quels utilisateurs ou groupes pourront utiliser l'élévation de privilèges et dans quelle mesure. Tous ces paramètres sont stockés dans le fichier de configuration / etc / sudoers, cependant, il est fortement déconseillé d'y apporter directement des modifications. À ces fins, une commande spéciale est utilisée :

visudo

qui lance un éditeur de texte avec un fichier de configuration :

Text editor with a configuration file
Capture d'écran №2. Éditeur de texte avec un fichier de configuration

Deux lignes sont chargées d'octroyer les droits :

root    ALL=(ALL:ALL) ALL
%sudo   ALL=(ALL:ALL) ALL

La première ligne définit les droits du compte root, la seconde définit les droits des membres du groupe sudo qui a été créé lors de l'installation du paquet (le % signe devant le nom signifie que le nom appartient à un groupe d'utilisateurs).

En conséquence, nous avons deux façons principales d'accorder au compte d'utilisateur le droit d'utiliser sudo:

Ajoutez un compte utilisateur (par exemple user) au groupe sudo sur le serveur :

usermod –a –G sudo user

Après avoir modifié l'appartenance au groupe, vous devrez vous reconnecter à ce compte pour appliquer la nouvelle configuration. Cette méthode est recommandée dans les cas où l'utilisateur doit disposer de tous les droits.

Créez une nouvelle entrée dans le fichier, par exemple, pour le compte d'utilisateur. Nous ajoutons une ligne similaire à root :

user ALL=(ALL:ALL) ALL

L'ajout d'une nouvelle entrée est recommandé dans les cas où la liste des privilèges sera ajustée (plus à ce sujet plus tard). Si nous avons apporté des modifications au fichier, nous devons les enregistrer en appuyant sur le raccourci clavier Ctrl-O et quitter l'éditeur - Ctrl-X.

Vous pouvez maintenant vérifier le bon fonctionnement :

user@debian10:~$ sudo cat /etc/sudoers
[sudo] password for user:

La commande sudo demande le mot de passe de l'utilisateur actuel (dans ce cas, l'utilisateur) - entrez-le, et si tout est fait correctement, nous verrons le contenu du fichier de configuration système.

Réglage fin

Ainsi, un utilisateur ordinaire peut exécuter des commandes avec les droits du compte root sans connaître son mot de passe. C'est très pratique, mais cela peut être dangereux - est-il possible de limiter la gamme de commandes pouvant être exécutées à l'aide de sudo ? Oui, et le même fichier de configuration nous y aidera. On recommence visudo et on comprend plus loin. Nous sommes intéressés par le parameters spécifiés après le nom d'utilisateur :

Parameters specified after the username
Capture d'écran №3. Pennsylvanierameters spécifiés après le nom d'utilisateur

Nous allons les analyser plus en détail :

  • TOUTES= (ALL : ALL) ALL - le premier parameter détermine à quel hôte la configuration est appliquée. Lors de l'utilisation d'un serveur dédié, le parameter peut rester inchangé ;
  • TOUS=(TOUS : TOUS)TOUS - le paramLes paramètres entre parenthèses déterminent l'autorité de quel utilisateur (première parameter) et/ ou groupe (deuxième parameter) la commande sera exécutée. Par défaut, sudo exécute la commande en tant que root, mais lors du démarrage avec le commutateur –u, vous pouvez spécifier un compte différent, et avec le commutateur –g, vous pouvez spécifier un autre groupe dont les privilèges seront utilisés au démarrage ;
  • TOUT=(TOUT : TOUT)TOUTES- le troisième parameter détermine à quels fichiers et commandes appartiennent ces paramètres.

Sur la base de ce qui précède, si nécessaire, déterminez la liste des commandes autorisées, remplacez le dernier paraméther TOUTES avec ce dont nous avons besoin, en listant les commandes séparées par des virgules. Par exemple, la ligne :

user    ALL=(ALL:ALL) /sbin/shutdown –r, /bin/cat

donne à l'utilisateur le droit d'utiliser sudo pour redémarrer le serveur avec sudo /sbin/shutdown –r et afficher les fichiers avec sudo /bin/cat. Les autres commandes via sudo ne seront pas exécutées. Par exemple, lorsque vous essayez d'arrêter le serveur avec la commande sudo /sbin/shutdown –h, nous obtenons la réponse :

Sorry, user user is not allowed to execute '/sbin/shutdown -h' as root on debian10.

Information

Vous pouvez voir la liste des privilèges en exécutant sudo –l (la liste de l'utilisateur actuel s'affichera) ou sudo –l –U user (la liste des privilèges de l'utilisateur s'affichera) :

The list of user privileges
Capture d'écran №4. La liste des privilèges des utilisateurs

La composition de sudo inclut la commande sudoedit, qui lance immédiatement un éditeur de texte avec le fichier spécifié avec des privilèges élevés, c'est-à-dire au lieu de la commande :

sudo nano /etc/network/interfaces

peut courir:

sudoedit /etc/network/interfaces

Si vous devez travailler en mode privilège élevé pendant une longue période et qu'il n'est pas pratique d'entrer sudo pour chaque commande, vous pouvez exécuter une instance de l'interpréteur de commandes via sudo :

sudo bash

et continuez à y travailler - toutes les équipes seront lancées avec des droits élevés. Une fois terminé, quittez l'interpréteur avec la commande exit.

Voter:
5 sur 5
Note moyenne : 5
Noté par : 2
1101 CT Amsterdam Pays-Bas, Herikerbergweg 292
+31 20 262-58-98
700 300
ITGLOBAL.COM NL
700 300
Nous utilisons des cookies pour rendre votre expérience sur le Serverspace meilleur. En poursuivant votre navigation sur notre site, vous acceptez nos
Utilisation des cookies et Politique de confidentialité.