Dans votre système Linux, il existe un fichier appelé « sudoers ». Il s’agit d’un fichier texte qui contrôle les niveaux les plus profonds de votre système d’autorisation. Il permet ou refuse aux utilisateurs d’obtenir un accès super-utilisateur et contient des préférences spéciales pour sudo.

Qu’est-ce que le fichier sudoers ?

Le fichier sudoers est un fichier texte que vous pouvez trouver dans le répertoire « /etc » (en savoir plus sur le répertoire Linux ici). Son but principal est de contrôler comment sudo fonctionne sur votre ordinateur et déterminez quels utilisateurs et groupes ont la possibilité de s’exécuter avec l’autorisation de superutilisateur.

De plus, le fichier sudoers peut également permettre à un utilisateur spécifique d’exécuter des commandes en tant qu’autre utilisateur du système.

Sudoers Edit Échantillon de données Www Edit

Par exemple, si vous avez un serveur Web, vous pouvez configurer sudoers pour autoriser uniquement les autres utilisateurs à exécuter des commandes en tant que « www-data ».

Quand dois-je modifier le fichier sudoers ?

Lorsque vous installez pour la première fois un système Linux tel qu’Ubuntu, le programme d’installation ajoute automatiquement le premier utilisateur au fichier sudoers. Cela vous permet d’exécuter immédiatement des tâches administratives avec le sudo commande après l’installation.

Sudoers Modifier la première utilisation de Sudo

Cependant, si vous créez un nouveau compte utilisateur, il n’aura pas l’autorisation de superutilisateur par défaut. Si vous devez lui accorder une autorisation de superutilisateur, vous devrez modifier le fichier sudoers et y ajouter ce compte d’utilisateur.

Comment puis-je modifier les sudoers ?

Ne modifiez jamais le fichier sudoers dans un éditeur de texte normal. Cela peut entraîner une édition simultanée et des fichiers corrompus, empêchant potentiellement tout accès administrateur. Les sudoers doivent être modifiés en exécutant visudo dans Terminal, comme ceci :

Sudoers Modifier Visudo

Notez que vous devez utiliser sudo courir visudo. Cela ouvrira le fichier sudoers dans l’éditeur de texte par défaut dans Terminal qui est Nano par défaut.

Sudoers Modifier l'exemple de fichier Sudoers

Que peut faire la modification du fichier sudoers ?

Comme indiqué ci-dessus, la tâche principale du fichier sudoers est de définir quels utilisateurs et groupes peuvent utiliser sudo. Cependant, ce fichier contient également quelques options qui vous permettront de configurer le comportement de sudo.

Certaines de ces options incluent la possibilité de modifier le délai d’expiration de l’élévation des privilèges. Il existe également des options pour modifier l’éditeur visudo par défaut et le renforcement de base, comme l’utilisation de pty.

Changer le délai d’attente sudo

Par défaut, la saisie de votre mot de passe sudo élève vos autorisations jusqu’à ce que vous fermiez le shell ou que vous quittiez. Cela peut ne pas être sûr et certains préfèrent saisir leur mot de passe chaque fois qu’ils utilisent sudo.

  1. Cours sudo visudo comme mentionné ci-dessus.
  2. Presse Autre + / pour naviguer jusqu’à la fin du document. Si vous utilisez Vi ou Vim, appuyez sur Changement + g Au lieu.
Sudoers Modifier le fichier Sudoers inférieur
  1. Créez une nouvelle ligne en bas du document et ajoutez la ligne suivante :
Sudoers Modifier l'option de délai d'attente

Cela définira votre délai d’expiration sudo sur zéro seconde, vous aurez donc des autorisations sudo pendant zéro seconde après avoir exécuté la première commande. Si vous préférez un intervalle différent, entrez plutôt cette valeur en secondes.

Vous pouvez également définir le délai d’attente sur « -1 », ce qui vous donne une période de grâce infinie. Ne fais pas ça. C’est un moyen pratique de détruire accidentellement votre système un jour.

  1. Presse Ctrl + o pour économiser et Ctrl + X pour quitter. D’autre part, si vous utilisez Vi ou Vim, vous pouvez appuyer sur ESC puis tapez :wq pour quitter.

Limiter qui peut utiliser Sudo et pour quoi

Si plusieurs utilisateurs accèdent au même système via des shells, vous pouvez contrôler leur accès en définissant des valeurs dans sudo.

Créer une règle personnalisée pour les utilisateurs est incroyablement simple. Une règle d’autorisation dans le fichier sudoers ressemble à ceci :

  • Le username indique à quel utilisateur du système cette règle s’appliquera.
  • Le hostlist indique à sudo d’appliquer cette règle sur une liste d’hôtes système connus de sudo. Par défaut, sudo ne reconnaît que la machine locale comme hôte.
  • Le userlist indique à sudo à quel compte d’utilisateur le champ de nom d’utilisateur peut se substituer.
  • Enfin, le commandlist est une liste séparée par des virgules qui indique les programmes du système que le nom d’utilisateur peut exécuter en tant qu’utilisateur.

Sachant cela, considérons l’exemple suivant :

Cette ligne permet à l’utilisateur ramces de se substituer à n’importe quel utilisateur et d’exécuter n’importe quelle commande sur n’importe quel hôte. Ceci est dû au fait ALL est une valeur spéciale dans le fichier sudoers signifiant « aucune restriction ».

Sudoers Modifier Dangerous Sudo Modifier

Cependant, cela signifie également que définir cette règle pour vos utilisateurs est dangereux. En effet, cela permettra à un utilisateur d’exécuter n’importe quelle commande et d’accéder à n’importe quel fichier en tant qu’utilisateur.

Ainsi, une règle plus appropriée et plus sûre peut ressembler à ceci :

Dans ce cas, l’utilisateur ramces peut toujours s’exécuter en tant que root mais il ne peut pas se substituer à n’importe quel autre utilisateur.

Restreindre la racine dans les utilisateurs et les groupes

Pour plus de contrôle, vous pouvez ajouter une ligne comme celle-ci, qui permettrait uniquement à l’utilisateur « ramces » d’exécuter apt update.

Sudoers Modifier Sudo restreint

Mettez un % devant l’utilisateur, et cela définira un groupe. La ligne ci-dessous permettrait à chaque utilisateur du groupe « admin » d’avoir des autorisations de niveau racine. Il s’agirait du groupe tel que défini par les groupes d’autorisations de votre système.

Durcissement des sudoers avec use_pty

Une autre utilisation du fichier sudoers consiste à n’utiliser sudo que dans un environnement sandbox restreint.

Cela peut être extrêmement utile si vous exécutez sudo sur une machine non sécurisée constamment connectée à Internet. Sachant cela, vous pouvez utiliser cette fonctionnalité en vous rendant dans votre fichier « /etc/sudoers » et en saisissant la ligne de code suivante :

Sudoers Modifier Utiliser l'option Pty

Utiliser sudo sans mot de passe

Une autre option que vous pouvez activer dans le fichier sudoers est la possibilité d’exécuter sudo sans mot de passe. Cela peut être particulièrement utile si vous exécutez constamment des commandes de superutilisateur sur votre machine.

Pour l’activer, il vous suffit d’ajouter une seule balise dans la règle de votre utilisateur actuel :

Sudoers Modifier l'option Nopasswd

Si vous remarquez, la principale différence entre ceci et l’exemple ci-dessus est l’ajout du NOPASSWD:.

Changer l’éditeur visudo

Enfin, selon la version de Linux que vous utilisez, il existe deux façons principales de changer l’éditeur.

Pour Ubuntu, vous voudrez exécuter la commande Terminal ci-dessous :

Vous verrez quelque chose comme ce qui suit :

Si vous vouliez sélectionner vim comme éditeur visudo à partir de la valeur par défaut de nano, vous devez appuyer sur son numéro de sélection 3 puis appuyez sur Entrée.

Sudoers Edit Modifier l'éditeur

Pour les autres versions de Linux, vous voudrez ajouter une nouvelle ligne à votre fichier « ~/.bashrc » comme indiqué ci-dessous :

Enregistrez ensuite le fichier. Cela définirait votre éditeur visudo sur vim.

Toutes nos félicitations! Vous savez maintenant comment apporter des modifications de base à votre fichier sudoers. De plus, vous avez maintenant une idée de base du fonctionnement de sudo. Ainsi que des options supplémentaires que vous pouvez activer via le fichier sudoers.

Si toutes ces discussions vous ont rendu curieux de Linux. Vous pouvez consulter cet article où nous parlons de certaines des meilleures distributions Linux-libre que vous pouvez installer aujourd’hui.

Questions fréquemment posées

1. J’ai reçu une erreur « (nom d’utilisateur) n’est pas dans le fichier sudoers ». Mon installation sudo est-elle cassée ?

Pas du tout. Cela se produit chaque fois que l’utilisateur que vous utilisez n’a pas d’entrée de règle dans le fichier sudoers. Cela peut être que l’utilisateur lui-même n’est pas dans sudoers ou qu’il ne fait partie d’aucun groupe qui se trouve dans les sudoers.

Sachant cela, résoudre ce problème est relativement facile. Tout d’abord, vous devez vous connecter à votre compte root. Vous pouvez le faire en tapant su puis en saisissant le mot de passe root. De là, vous pouvez ensuite taper sudo visudo pour entrer dans le fichier sudoers.

Une fois cela fait, la dernière chose que vous devez faire est d’ajouter votre nom d’utilisateur au fichier sudoers. Par exemple, voici un extrait du fichier sudoers pour un nouveau compte appelé alice :

2. Quels sont les problèmes liés à la création de règles utilisateur personnalisées ?

L’un des problèmes que vous pouvez rencontrer lors de la création de règles personnalisées concerne les caractères génériques. Ce sont des symboles que vous pouvez utiliser pour créer une règle qui peut s’appliquer à plusieurs cas. Par exemple, il s’agit d’une règle qui permet à l’administrateur du groupe d’exécuter cat dans n’importe quel fichier dans « /var » en tant que root.

Le problème est que ce caractère générique peut également remplacer les espaces. En tant que tel, le définir de cette manière pourrait également autoriser des commandes telles que celles-ci :

Pour cette raison, il est recommandé d’éviter d’utiliser des caractères génériques lors de la création de règles. Au lieu de cela, vous pouvez soit utiliser su pour les tâches ponctuelles ou définissez les autorisations du fichier afin que sudo ne soit pas nécessaire.

3. Est-il possible d’empêcher sudo d’envoyer du courrier système chaque fois que j’exécute en tant que root ?

Oui! Vous pouvez facilement empêcher sudo d’envoyer du courrier en utilisant la balise NOMAIL. Par exemple, voici l’entrée de règle pour mon compte utilisateur dans le fichier sudoers :

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici