FreshRSS

🔒
❌ À propos de FreshRSS
Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierFlux principal

Debian : comment créer son propre repository local ?

4 mai 2021 à 13:00

I. Présentation

Aujourd'hui, nous allons voir comment mettre en place son propre repository local pour Debian, en l'occurrence Debian 10 dans ce tutoriel. Je vous recommande d'être à l'aise avec Linux de manière générale avant de vous lancer dans le tutoriel tête baissée, car ce n'est pas si simple qu'on pourrait le croire.

L'une des raisons pour lesquelles vous pouvez envisager de configurer un serveur de référentiel apt local est de :

  • diminuer la consommation de la bande passante requise. Notamment si vous avez une centaine d'instances Debian à mettre à jour à une heure précise le week-end.
  • De plus, cela vous permet de disposer aussi dans certains cas d'un parc de serveurs décentralisé et déconnecté d'internet. Certains serveurs n'ont en effet pas le besoin d'atteindre internet à l’exception du processus de mise à jour en fonction de leurs périmètres d'activités.

Toutes les commandes ci-dessous seront exécutées via l'utilisateur root, que se soit sur la machine hébergeant notre repository local ou bien sur la machine cliente.

Prérequis

  • Une machine Debian 10 pour héberger notre dépôt local, avec une connexion internet stable.
    • 256 Go d'espace disque et  4 Go pour la RAM pour être à l'aise
  • Une machine Debian 10 "Client" avec ou sans connexion à internet
    • Disposant de la capacité à communiquer avec la machine hébergeant le repository local par le biais de ping/http. Attention, si vous avez un pare-feu sur votre réseau, n'oubliez d'ouvrir ces flux

Précédemment, nous avons vu comment mettre en place un repository local sous Ubuntu.

II. Installation du serveur web apache2

Nous commençons ce didacticiel, par l'installation d'un serveur Web sur la machine hébergeant notre référentiel local. Nous allons utiliser le service apache2 pour héberger les dépôts. Pensez à ajouter "sudo" devant les commandes qui suivent si vous n'utilisez pas le compte root.

apt update && apt upgrade
apt install apache2

Pour rappel, le répertoire racine du service web Apache et du site par défaut se trouve dans le chemin /var/ www/html. Nous allons créer un répertoire "debian" dans ce dossier, et ce dernier contiendra toute l’arborescence de notre futur repository apt.

mkdir -p /var/www/html/debian

www-data, l'utilisateur par défaut d'apache, devra être le propriétaire du dossier "debian" . Effectuez les changements à l'aide de la commande suivante :

chown www-data:www-data /var/www/html/debian

III. Installation d'apt-mirror

L'étape suivante consiste à installer le paquet apt-mirror. Après avoir installé celui-ci, nous obtiendrons la commande apt-mirror, qui nous permettra de cloner (puis par la suite de synchroniser pour les mises à jour) le référentiel distant vers notre référentiel local.

apt install apt-mirror

Une fois qu'apt-mirror a été installé, nous allons passer à sa configuration. Avant de continuer, pour nous prémunir de toutes erreurs, faite une sauvegarde du fichier original de configuration (pour revenir en arrière si vous le souhaitez plus tard).

cp /etc/apt/mirror.list /etc/apt/mirror.list-bak

Modifiez maintenant le fichier à l'aide de l'éditeur de texte de votre choix et mettez à jour base_path et les référentiels comme indiqué ci-dessous.

A. Configuration d'apt-mirror

nano /etc/apt/mirror.list
############# config ##################
#
set base_path    /var/www/html/debian
#
# set mirror_path  $base_path/mirror
# set skel_path    $base_path/skel
# set var_path     $base_path/var
# set cleanscript $var_path/clean.sh
# set defaultarch  <running host architecture>
# set postmirror_script $var_path/postmirror.sh
# set run_postmirror 0
set nthreads     20
set _tilde 0
#
############# end config ##############

deb http://ftp.fr.debian.org/debian/ buster main contrib non-free
deb http://ftp.fr.debian.org/debian/ buster-updates main contrib non-free
deb http://ftp.fr.debian.org/debian/ buster-proposed-updates main contrib non-free
deb http://ftp.fr.debian.org/debian/ buster-backports main contrib non-free
deb http://security.debian.org/debian-security buster/updates main contrib non-free

# deb http://ftp.us.debian.org/debian unstable main contrib non-free
# deb-src http://ftp.us.debian.org/debian unstable main contrib non-free
# mirror additional architectures
#deb-alpha http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-amd64 http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-armel http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-hppa http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-i386 http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-ia64 http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-m68k http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-mips http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-mipsel http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-powerpc http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-s390 http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-sparc http://ftp.us.debian.org/debian unstable main contrib non-free

clean http://ftp.us.debian.org/debian
Le fichier de configuration /etc/apt/mirror.list doit ressembler à cela

Ce fichier de configuration sera à adapter, si vous arrivez sur ce tutoriel et que votre version Debian est ultérieure à la version actuelle Buster (10.8) [Mars 2021]

Au cas où vous n'auriez pas remarqué, j'ai utilisé les dépôts de paquets Debian 10 principaux. Les autres resteront commentés, car ils ne sont pas forcément nécessaires dans le cas de ma démonstration.

B. Démarrez la mise en miroir des référentiels distants dans le dossier local

Avant de commencer le clone des paquets distants, il vous faut copier le script de post installation dans le répertoire /var/www/debian/var/ en utilisant les deux commandes ci-dessous.

mkdir -p /var/www/html/debian/var
cp /var/spool/apt-mirror/var/postmirror.sh /var/www/html/debian/var

Il est maintenant temps de commencer à mettre en miroir les packages des référentiels distants vers le dossier local de notre système. Exécutez la commande ci-dessous, mais évitez d'exécuter cette commande depuis un terminal ssh, ou bien augmenter le temps de timeout d'une session ssh, car le processus va prendre des heures :

apt-mirror

Et là, bah vous pouvez aller faire autre chose pendant quelques heures le temps que le téléchargement des paquets se fasse. Me concernant avec une connexion fibrée le téléchargement a pris plus de 12H... En fait, Debian bride le débit de download sur leurs serveurs.

C. Résoudre le bug 1 : security.debian.org/debian-security/dists/buster/updates/main/i18n/"Translation-en" 404 Not Found

Comme pour mon didacticiel pour Ubuntu, j'ai rencontré une erreur, impliquant un bug dans le code d'apt-mirror non résolu depuis belle lurette. Un problème remonté depuis Debian 8.X, de ce que j'ai pu voir sur les différents forums.

Afin de vérifier si vous avez le bug ou non, je vous invite à naviguer vers le chemin suivant :

Si vous n'avez pas le dossier i18n/, qui apparait, et bien cela veut dire que ce bug vous impacte aussi. À l'inverse, bingo, le bug a été colmaté. Le cas échéant, je vous demanderai de me faire signe dans les commentaires afin que je mette à jour l'article.

Pour résoudre celui-là, j'ai créé un petit script maison, qui vous permettra d'éliminer cette erreur :

cd /var/www/html/debian/mirror/security.debian.org/debian-security/dists/buster/updates/

Créez un script nommé fix1.sh :

nano fix1.sh

Ajoutez le code ci-dessous et terminez par exécuter la commande chmod dans votre console pour donner les droits d'exécution sur le fichier.

for dist in main contrib non-free; do
    wget http://security.debian.org/debian-security/dists/buster/updates/${dist}/i18n/Translation-en.xz;
    mkdir -p /var/www/html/debian/mirror/security.debian.org/debian-security/dists/buster/updates/${dist}/i18n
    mv Translation-en.xz /var/www/html/debian/mirror/security.debian.org/debian-security/dists/buster/updates/${dist}/i18n/
done
chmod u+x fix1.sh
Résultat de l'exécution du script.

D. Résoudre le bogue 2 : ftp.fr.debian.org/debian/dists/buster-backports/main/i18n/"Translation-en" 404 Not Found

Un bug peut en cacher un autre avec apt-mirror... Nous voici face au second bug que vous rencontrerez non pas avec le dépôt security.debian.org/debian-security, mais avec le dépôt ftp.fr.debian.org/debian/dist/buster-backport.

De nouveau, je vous invite à naviguer vers le chemin suivant :

Si vous n'avez pas le dossier i18n/, qui apparait, et bien cela veut dire que ce bug vous impacte aussi. À l'inverse, vous n'êtes pas concerné et c'est tant mieux ! Le cas échéant, je vous demanderai de me faire signe dans les commentaires afin que je mette à jour l'article.

Pour remédier à ce deuxième bug, voici la marche à suivre (sur le même principe que précédemment) :

cd /var/www/html/debian/mirror/ftp.fr.debian.org/debian/dists/buster-backports
nano fix2.sh

Au sein du script fix2.sh, ajoutez le code ci-dessous et terminez par ajouter les droits d'exécution avec chmod.

for dist in main contrib non-free; do
    wget http://ftp.fr.debian.org/debian/dists/buster-backports/${dist}/i18n/Translation-en.xz;
    mkdir -p /var/www/html/debian/mirror/ftp.fr.debian.org/debian/dists/buster-backports/${dist}/i18n
    mv Translation-en.xz /var/www/html/debian/mirror/ftp.fr.debian.org/debian/dists/buster-backports/${dist}/i18n/
done
chmod u+x fix2.sh

E. Planification de la synchronisation automatique des référentiels

Afin de maintenir votre dépôt local à jour, vous pouvez paramétrer sa mise à jour par l'intermédiaire d'une simple tâche cron. En effet, à chaque fois que notre dépôt local se synchronise avec le distant, s'il récupère de nouveaux paquets, ils sont automatiquement téléchargés, ainsi que leurs fichiers d'index.

Pour éditer la crontab :

crontab -e

Suivez scrupuleusement les directives suivantes :

00 01 * * * /usr/bin/apt-mirror >> apt-mirror-report.txt
00 02 * * * /var/www/html/debian/mirror/ftp.fr.debian.org/debian/dists/buster-backports/fix2.sh
01 02 * * * /var/www/html/debian/mirror/security.debian.org/debian-security/dists/buster/updates/fix1.sh

Comme vous pouvez le constater, la sortie de la première commande sera stockée dans le fichier /root/apt-mirror-syncing-execution-report.txt. Cela vous permettra de suivre s'il y a un problème lors de l’exécution du script sur le long terme. Les deux autres scripts font référence à des scripts qui colmatent les bugs dont je vous parlais ci-dessus. Il devront être exécutés à la suite de la commande apt-mirror.

IV. Configuration de Debian 10 pour utiliser un repository local

Dès lors, nous pouvons tester et vérifier si notre serveur de référentiel apt fonctionne correctement ou non, j'ai un autre système Debian 10 sur lequel je vais mettre à jour le fichier /etc/apt/sources.list afin que la commande apt pointe vers les référentiels locaux au lieu de ceux distants. Alors, connectez-vous au système Debian faisait office de poste client, et modifiez ce qui suit dans la liste sources.list

Mais avant tout, sauvegarder vos sources.list de base avec la commande ci-dessous, au cas où vous souhaitez revenir en arrière et utiliser un dépôt distant plus tard.

cp /etc/apt/sources.list /etc/apt/sources.list.backup

Supprimez le fichier puis recréer le.

rm /etc/apt/sources.list
touch /etc/apt/sources.list

Ouvrez le fichier avec l'éditeur de texte de votre choix.

nano /etc/apt/sources.list

A. Modification des sources.list

Effectuez un copier-coller du code ci-dessous dans le fichier sources.list, et modifiez l'IP de votre serveur hébergeant votre repository local.

deb [arch=amd64 trusted=yes] http://repository-local-ip/debian/mirror/ftp.fr.debian.org/debian/ buster main contrib non-free

deb [arch=amd64 trusted=yes] http://repository-local-ip/debian/mirror/ftp.fr.debian.org/debian/ buster-updates main contrib non-free

deb [arch=amd64 trusted=yes] http://repository-local-ip/debian/mirror/ftp.fr.debian.org/debian/ buster-proposed-updates main contrib non-free

deb [arch=amd64 trusted=yes] http://repository-local-ip/debian/mirror/security.debian.org/debian-security buster/updates main contrib non-free

deb [arch=amd64 trusted=yes] http://repository-local-ip/debian/mirror/ftp.fr.debian.org/debian/ buster-backports main contrib non-free

B. Tests - C'est l'heure de vérité !

Exécutez maintenant la commande « apt update » pour vérifier que la machine cliente reçoit la mise à jour de notre serveur de référentiel apt local

apt update

Parfait, la sortie ci-dessus confirme que la machine cliente est capable de se connecter avec succès à notre référentiel local pour récupérer les packages et les mises à jour.

Vous aurez des mises à jour à appliquer en fonction de si vous avez exécuté apt update && apt upgrade sur votre machine récemment ou non.

Vous pouvez aussi tester votre repository local en installant un service quelconque. Dans mon cas, le service squid proxy.

C. Postface

C'est tout pour cette fois-ci, j'espère que vous êtes arrivé au bout de ce tutoriel sans trop de mal. J'ai essayé d'être le plus clair possible dans mes explications, mais si vous rencontrez quand même des erreurs, lors d'apt update && apt upgrade, n'hésitez pas à rechercher votre erreur sur le net, en stipulant dans la requête que vous utilisez un repository local. C'est en partie comme ça que j'ai affiné le tutoriel, pour qu'il soit le plus clair possible.

The post Debian : comment créer son propre repository local ? first appeared on IT-Connect.

Commande sudo : comment configurer sudoers sous Linux ?

29 avril 2021 à 12:30

I. Présentation

Dans ce tutoriel, je vais vous parler de la commande sudo sous Linux et de la configuration du fichier sudoers qui sert à déléguer des droits pour exécuter certaines actions sur la machine.

? Tutoriel disponible au format vidéo :

Lorsque l'on installe une distribution Linux, en l'occurrence Debian , que je vais utiliser tout au long de ce tutoriel, le système est livré avec deux utilisateurs :

  • Un compte "root" qui correspond au super-utilisateur de la machine, avec tous les droits
  • Un compte utilisateur membre du groupe sudo (dépend des distributions et du type d'installation) qui sera nécessaire pour utiliser la machine au quotidien. Ce compte prend le nom que l'on donne à l'installation

Le compte "root" quant à lui sert à configurer le système, installer de nouveaux paquets, etc... Toutes les tâches d'administration système, en fait.

Pour rentrer dans le vif du sujet, parlons de la commande "sudo" et de son intérêt au sein d'un environnement Linux.

II. La commande "sudo"

La commande "sudo" (substitute user do) permet à un utilisateur standard d'exécuter une action en se faisant passer par un autre utilisateur, par défaut "root". Autrement dit, un utilisateur standard peut effectuer une opération normalement réservée à l'utilisateur "root".

Prenons un exemple, pour éditer le fichier système "/etc/hosts" avec l'éditeur nano, il faut saisir cette commande :

nano /etc/hosts

Si je l'exécute à partir d'un utilisateur standard, en l'occurrence ici l'utilisateur "florian" un message va s'afficher pour m'indiquer que le fichier est ouvert en lecture seule, car je n'ai pas les autorisations pour l'enregistrer. Ce serait la même chose pour éditer un autre fichier système, redémarrer la machine ou redémarrer un service.

Maintenant, si j'exécute la commande suivante en ajoutant le préfixe "sudo" :

sudo nano /etc/hosts

Note : dans le cas où sudo n'est pas installé sur votre distribution, il faut procéder à son installation avec votre gestionnaire de paquets favoris, par exemple : apt-get install sudo

Je vais devoir saisir le mot de passe de mon compte "florian" et le fichier va s'ouvrir en écriture !

J'ai pu modifier ce fichier avec la commande "sudo", car l'utilisateur "florian" est membre du groupe "sudo". Avec la commande suivante, on peut vérifier que l'utilisateur est bien membre de ce groupe.

id florian

Il existe plusieurs façons de faire, on aurait pu exécuter cette commande également :

groups florian

La question que l'on peut se poser c'est : pourquoi les membres du groupe "sudo" ont le droit d'effectuer des actions d'administration sur la machine ? La réponse se situe au sein du fichier de configuration de "sudoers" qui se situe à l'emplacement suivant :

/etc/sudoers

Si l'on ouvre ce fichier, on remarque la présence de la ligne suivante :

%sudo     ALL=(ALL:ALL)  ALL

Groupe "sudo" dans /etc/sudoers

Le commentaire au-dessus de cette ligne parle de lui-même : autoriser les membres du groupe sudo à exécuter n'importe quelle commande (avec les droits super-utilisateur).

Passons maintenant à la configuration du fichier /etc/sudoers en lui-même.

Pour lister les autorisations d'un compte sous Linux, je vous oriente vers ce tutoriel en complément de celui-ci : Lister les autorisations d'un compte sous Linux

III. Configuration du fichier sudoers (/etc/sudoers)

A. Éditer la configuration de sudoers avec visudo

Pour modifier le fichier de configuration de sudoers, il y a un outil spécifique : visudo. En fait, on pourrait utiliser nano ou un autre éditeur de texte, mais la bonne pratique c'est d'utiliser visudo.

L'intérêt d'utiliser visudo, c'est que l'outil va verrouiller le fichier de configuration /etc/sudoers pour éviter d'être à plusieurs dessus, mais aussi, et c'est important, il va vérifier la syntaxe des règles ajoutées ou modifiées !

Pour modifier le fichier /etc/sudoers, on utilisera :

sudo visudo

ou

sudo visudo /etc/sudoers

B. Quel est l'intérêt de modifier la configuration de sudoers ?

Lorsque l'on souhaite attribuer des droits à un utilisateur, il y a la facilité : l'ajouter au groupe "sudo", mais ce n'est clairement pas la bonne solution. En fait, si l'on fait une comparaison avec Windows, cela revient à ajouter un utilisateur au groupe "Administrateurs" de la machine.

En configurant le fichier sudoers, on va pouvoir déléguer l'accès à certains fichiers, certaines commandes, à un utilisateur spécifique.

C. Syntaxe d'une règle sudo

Pour créer des règles, il faut respecter une syntaxe précise. Reprenons l'exemple du groupe "sudo" :

%sudo     ALL=(ALL:ALL)  ALL

Voici comment il faut l'interpréter :

Explications directive sudoers sudo

Ce qui permet de mieux comprendre aussi le commentaire associé à cette commande dans le fichier sudoers. Chacune de ces valeurs peut être modifiée pour affiner la règle.

Voici quelques précisions supplémentaires au sujet de la syntaxe :

➡  Utilisateur / groupe : pour spécifier un utilisateur, on indique tout simplement son identifiant, tandis que s'il s'agit d'un groupe on ajoute le préfixe "%". On spécifie un seul utilisateur ou groupe par ligne !

➡ Hôte : le fait d'indiquer ALL permet de dire que cette règle s'applique à toutes les machines

➡ Tous les utilisateurs : permet de spécifier l'utilisateur dont on prend les droits, avec "ALL" on englobe tous les utilisateurs y compris l'utilisateur "root" (ce qui nous intéresse)

➡ Tous les groupes : idem que pour les utilisateurs

➡ Toutes les commandes : permets de spécifier la ou les commandes que l'utilisateur (ou le groupe) spécifié en début de ligne peut exécuter sur la machine. S'il y a plusieurs commandes, il faut utiliser la virgule comme séparateur.

Note : ce qui est intéressant, c'est de donner des droits directement sur des groupes et ensuite d'ajouter le(s) utilisateur(s) à ce groupe.

D. Créer une nouvelle règle dans sudoers

Maintenant, prenons l'exemple d'un utilisateur standard, non membre du groupe "sudo" et nommé "itconnect". Nous allons lui donner les droits pour éditer le fichier /etc/hosts via nano.

Actuellement, la commande sudo ne me permet pas d'ouvrir ce fichier en écriture, car la directive est absente du fichier sudoers. Ce qui donne : "itconnect n'apparaît pas dans le fichier sudoers. Cet événement sera signalé".

À l'aide de l'utilisateur root (ou florian), on va modifier le fichier sudoers avec visudo et ajouter la ligne suivante :

itconnect ALL=(ALL) /usr/bin/nano /etc/hosts

Il est important de préciser qu'il faut indiquer le chemin complet vers le binaire, en l'occurrence ici "nano". Pour trouver facilement le chemin vers le binaire, utilisez la commande "which", par exemple :

which nano

Grâce à cette directive, l'utilisateur itconnect est en mesure de modifier le fichier /etc/hosts ! Il devra exécuter :

sudo nano /etc/hosts

Ensuite, il doit saisir son mot de passe. Il faut savoir que sudoers supporte l'option "NOPASSWD" : elle permet d'indiquer que l'utilisateur peut exécuter cette commande sans devoir saisir son mot de passe. Ce n'est pas recommandé, mais c'est une possibilité.

Si l'on reprend l'exemple précédent, cela donne :

itconnect ALL=(ALL) NOPASSWD:/usr/bin/nano /etc/hosts

Maintenant, pour aller un peu plus loin, voyons comment utiliser la notion d'alias avec sudoers.

E. Sudoers et le caractère d'exclusion "!"

Au sein d'une règle, le fait de spécifier "!" devant la commande va permettre de l'interdire. Par exemple, on peut autoriser l'utilisateur "itconnect" à modifier les mots de passe des utilisateurs, sauf pour l'utilisateur "root". Ce qui donnerait la règle suivante :

itconnect ALL=(ALL) /usr/bin/passwd, !/usr/bin/passwd root

La preuve en image ?

F. Sudoers et les alias

Si l'on regarde le début du fichier sudoers, on remarque plusieurs sections déclarées dans la première partie :

# Host alias specification
# User alias specification
# Cmnd_alias specification

Ces trois sections permettent de déclarer des alias pour les hôtes, les utilisateurs et les commandes. Par exemple, on peut créer un alias d'utilisateurs "ADMINS" et y associer plusieurs utilisateurs. Ensuite, dans les règles on peut utiliser cet alias plutôt que d'appeler les utilisateurs un par un ou de créer un groupe spécifique si l'on veut créer une règle commune à plusieurs utilisateurs.

Prenons un exemple... On va créer un alias d'utilisateur nommé "ADMINS" et qui va faire référence à deux comptes : itconnect et florian. Il faut bien séparer chaque nom par une virgule. Ce qui donne :

User_Alias    ADMINS = itconnect, florian

Ensuite, on va déclarer un alias de commande nommé "SYSTEM" et qui va faire référence à la commande "systemctl", mais il pourrait contenir plusieurs commandes. Ce qui donne :

Cmnd_Alias    SYSTEM = /usr/bin/systemctl

Enfin, pour créer une règle qui autorise les ADMINS à utiliser les commandes SYSTEM, cela donnera la règle suivante :

ADMINS ALL=(ALL)   SYSTEM

Les utilisateurs "itconnect" et "florian" peuvent désormais exécuter toutes les commandes associées à l'alias "SYSTEM".

G. Le dossier /etc/sudoers.d

Je souhaitais vous parler du dossier "/etc/sudoers.d" : il sert à stocker des fichiers déclaratifs pour sudoers qui seront lus en complément du fichier sudoers en lui-même. Attention, tous les fichiers qui contiennent "~" ou "." dans le nom ne seront pas lus ! C'est particulièrement intéressant pour organiser les règles par fichier plutôt que de tout centraliser dans le même fichier : le fichier sudoers sera toujours lu, dans tous les cas.

Pour créer un nouveau fichier nommé "ADMINS", on utilisera :

visudo /etc/sudoers.d/ADMINS

On pourrait tout à fait inclure nos alias et notre règle créés précédemment au sein de ce fichier.

H. Modifier le délai d'expiration de la commande sudo

Lorsque la commande "sudo" est utilisée, on précise le mot de passe du compte utilisateur à l'origine de l'action pour valider l'opération. Ensuite, si l'on exécute une nouvelle commande "sudo", le mot de passe n'est pas demandé, car l'accès reste déverrouillé pendant X minutes. Par défaut, cette valeur semble varier en fonction de la distribution utilisée, parfois 5 minutes, parfois 15 minutes.

Quoi qu'il en soit, il est possible de modifier cette valeur pour indiquer le délai d'expiration (timeout) que vous souhaitez pour sudoers.

Au sein du fichier sudoers, à la suite des autres lignes "Defaults", déclarez la ligne suivante :

Defaults      timestamp_timeout=5

Ce tutoriel sur l'utilisation de la commande sudo et de la configuration de sudoers sous Linux touche à sa fin. Maintenant, à vous de jouer !

PS : vous pouvez retrouver d'autres exemples sur cette page : Exemples Sudoers

The post Commande sudo : comment configurer sudoers sous Linux ? first appeared on IT-Connect.
❌