Installation de sudo
Maintenant que notre système est fraichement installé, nous allons pouvoir passer à l’installation des différents logiciels et services que nous voulons. Mais avant cela, il va falloir obtenir les droits pour le faire. Sous Linux, le seul utilisateur ayant tous les pouvoirs sur la machine est root. Cependant il est déconseillé de se connecter en tant que root afin d’éviter de tenter toute manipulation qui pourrait nuire au système. Pour avoir les droits de root ponctuellement avec un compte d’utilisateur normal, il faudra précéder chaque commande nécessitant les droits root de « sudo », qui signifie « Substitute User do », ce qui permettra une fois le mot de passe de l’utilisateur saisi, d’exécuter la commande comme s’il était root. Problème, dans notre système fraichement installé, la commande sudo n’est pas disponible.
Nous allons donc devoir temporairement nous logger en root pour pouvoir l’installer, en tapant la commande suivante :
riri@srv-debian:~$ su root
puis le mot de passe du compte root (défini à l’installation).
L’invite de commande est modifiée pour devenir
root@srv-debian:/home/riri#
On peut maintenant passer à l’installation de sudo, après avoir mis à jour la liste des paquets :
root@srv-debian:/home/riri# apt-get update
puis
root@srv-debian:/home/riri# apt-get install sudo
APT télécharge automatiquement les fichiers nécessaires puis les installe. sudo est désormais installé, ne reste plus qu’à le configurer !
Configuration
Notre machine ne dispose pour l’instant que d’un seul utilisateur (créé par nos soins à l’installation), la configuration de sudo va être très rapide. Il faut savoir qu’il est possible de spécifier quelles commandes un utilisateur pouvant lancer sudo pourra exécuter. On peut par exemple limiter un utilisateur à pouvoir éteindre le PC avec sudo. L’ensemble de la configuration est enregistrée dans le fichier « /etc/sudoers » mais ce fichier doit être édité avec un utilitaire dédié : visudo.
Toujours en tant que root on lance visudo :
root@srv-debian:/home/riri# visudo
Notre fichier sudoers se présente comme suit :
# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL) ALL
# Uncomment to allow members of group sudo to not need a password
# (Note that later entries override this, so you might need to move
# it further down)
# %sudo ALL=NOPASSWD: ALL
Nous devons maintenant modifier les options qui vont permettre aux utilisateurs choisis d’obtenir les droits root ponctuellement. On peut spécifier un par un chaque utilisateur, ou, plus pratique, les ajouter au groupe sudo et autoriser les utilisateurs de ce groupe à lancer la commande sudo. C’est cette dernière possibilité que nous allons utiliser ici. Afin d’autoriser les utilisateurs du groupe sudo à lancer la commande sudo, on dé-commente la ligne suivante :
# %sudo ALL=NOPASSWD: ALL
en enlevant le « # » au début de celle-ci et en la modifiant quelque peu pour que le mot de passe soit tout de même demandé lors de l’appel à sudo. Elle devient ainsi :
%sudo ALL=(ALL) ALL
On quitte l’éditeur en faisant ctrl+x puis en répondant « o » ou « y » quand il nous demande d’enregistrer le fichier (selon que vous avez nano en français ou en anglais) puis « Entrée » pour valider le chemin proposé (/etc/sudoers.tmp). Si votre éditeur de texte n’est pas nano mais vi, tapez echap puis :wq! pour quitter en sauvegardant.
Il suffit maintenant d’ajouter notre utilisateur au groupe sudo grâce à la commande suivante :
srv-debian:/home/riri# usermod -a -G sudo riri
en remplaçant bien sur riri par le nom d’un utilisateur de votre machine.
Vous pouvez maintenant vous relogger avec l’utilisateur classique via la commande :
srv-debian:/home/riri# su riri
riri@srv-debian:~$
et vous pouvez désormais tester que la commande sudo est disponible :
riri@srv-debian:~$sudo ifconfig
Comme c’est votre premier appel à la fonction sudo, un message d’avertissement apparait, vous rappelant que de grands pouvoirs impliquent de grandes responsabilités et qu’il est de bon ton d’utiliser cette commande avec déontologie et discernement :
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
[sudo] password for riri:
Entrez le mot de passe de votre utilisateur (et non celui de root, sinon la commande sudo n’aurait aucun sens). Le résultat de la commande s’affiche ensuite. Vous pourrez utiliser ensuite la commande sudo pour préfixer les commandes disponibles uniquement pour root pendant un certain temps avant que le mot de passe ne vous soit redemandé.
Dans un souci de sécurité, même si la commande sudo permet de faire les mêmes bêtises que si vous étiez loggé en root, il est préférable de demander le mot de passe a chaque appel de sudo, cela vous permet d’avoir un petit délai de réflexion avant de valider chaque commande aveuglément. Pour ce faire, lancez visudo via la commande :
riri@srv-debian:~$sudo visudo
(et oui, nous ne sommes plus loggé en root, sudo trouve donc toute son utilité ici \o/), et recherchez la ligne
Defaults env_reset
puis remplacez la par
Defaults env_reset,timestamp_timeout=0
enfin, sauvez et quittez. La modification est immédiate. Désormais, chaque appel à sudo vous demandera votre mot de passe. Si toutefois vous prévoyez d’utiliser un grand nombre de commandes vous pouvez toujours ouvrir un shell root grâce à la commande :
riri@srv-debian:~$sudo -i
Lorsque vous aurez terminé vos manipulations, tapez exit dans la console pour revenir au shell de l’utilisateur normal.
Maintenant que nous avons trouvé le moyen d’avoir tous les droits sur notre machine, il est temps de nous en servir pour faire un serveur fonctionnel !
Laisser un commentaire