{"id":107,"date":"2010-05-01T22:19:10","date_gmt":"2010-05-01T20:19:10","guid":{"rendered":"http:\/\/pro.richardbaret.fr\/?p=107"},"modified":"2012-11-13T12:02:16","modified_gmt":"2012-11-13T11:02:16","slug":"configuration-du-fichier-sudoers","status":"publish","type":"post","link":"https:\/\/pro.richardbaret.fr\/?p=107","title":{"rendered":"Configuration du fichier sudoers"},"content":{"rendered":"<h1>Installation de sudo<\/h1>\n<p style=\"text-align: justify;\">Maintenant que notre syst\u00e8me est fraichement install\u00e9, nous allons pouvoir passer \u00e0 l&rsquo;installation des diff\u00e9rents 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 <em>root<\/em>. Cependant il est d\u00e9conseill\u00e9 de se connecter en tant que <em>root<\/em> afin d&rsquo;\u00e9viter de tenter toute manipulation qui pourrait nuire au syst\u00e8me. Pour avoir les droits de root ponctuellement avec un compte d&rsquo;utilisateur normal, il faudra pr\u00e9c\u00e9der chaque commande n\u00e9cessitant les droits <em>root<\/em> de \u00ab\u00a0sudo\u00a0\u00bb, qui signifie \u00ab\u00a0Substitute User do\u00a0\u00bb, ce qui permettra une fois le mot de passe de l&rsquo;utilisateur saisi, d&rsquo;ex\u00e9cuter la commande comme s&rsquo;il \u00e9tait <em>root<\/em>. Probl\u00e8me, dans notre syst\u00e8me fraichement install\u00e9, la commande <em>sudo<\/em> n&rsquo;est pas disponible.<\/p>\n<p style=\"text-align: justify;\"><!--more-->Nous allons donc devoir temporairement nous logger en <em>root<\/em> pour pouvoir l&rsquo;installer, en tapant la commande suivante :<\/p>\n<p><code>riri@srv-debian:~$ su root<\/code><br \/>\npuis le mot de passe du compte <em>root<\/em> (d\u00e9fini \u00e0 l&rsquo;installation).<br \/>\nL&rsquo;invite de commande est modifi\u00e9e pour devenir<br \/>\n<code>root@srv-debian:\/home\/riri#<\/code><br \/>\nOn peut maintenant passer \u00e0 l&rsquo;installation de <em>sudo<\/em>, apr\u00e8s avoir mis \u00e0 jour la liste des paquets :<br \/>\n<code>root@srv-debian:\/home\/riri# apt-get update<\/code><br \/>\npuis<br \/>\n<code>root@srv-debian:\/home\/riri# apt-get install sudo<\/code><br \/>\nAPT t\u00e9l\u00e9charge automatiquement les fichiers n\u00e9cessaires puis les installe. <em>sudo<\/em> est d\u00e9sormais install\u00e9, ne reste plus qu&rsquo;\u00e0 le configurer !<\/p>\n<h1>Configuration<\/h1>\n<p style=\"text-align: justify;\">Notre machine ne dispose pour l&rsquo;instant que d&rsquo;un seul utilisateur (cr\u00e9\u00e9 par nos soins \u00e0 l&rsquo;installation), la configuration de <em>sudo<\/em> va \u00eatre tr\u00e8s rapide. Il faut savoir qu&rsquo;il est possible de sp\u00e9cifier quelles commandes un utilisateur pouvant lancer<em> sudo<\/em> pourra ex\u00e9cuter. On peut par exemple limiter un utilisateur \u00e0 pouvoir \u00e9teindre le PC avec <em>sudo<\/em>. L&rsquo;ensemble de la configuration est enregistr\u00e9e dans le fichier \u00ab\u00a0\/etc\/sudoers\u00a0\u00bb mais ce fichier doit \u00eatre \u00e9dit\u00e9 avec un utilitaire d\u00e9di\u00e9 : <em>visudo<\/em>.<\/p>\n<p>Toujours en tant que root on lance visudo :<br \/>\n<code>root@srv-debian:\/home\/riri# visudo<\/code><br \/>\nNotre fichier sudoers se pr\u00e9sente comme suit :<br \/>\n<code># \/etc\/sudoers<br \/>\n#<br \/>\n# This file MUST be edited with the 'visudo' command as root.<br \/>\n#<br \/>\n# See the man page for details on how to write a sudoers file.<br \/>\n#<\/code><\/p>\n<p>Defaults env_reset<\/p>\n<p># Host alias specification<\/p>\n<p># User alias specification<\/p>\n<p># Cmnd alias specification<\/p>\n<p># User privilege specification<br \/>\nroot ALL=(ALL) ALL<\/p>\n<p># Uncomment to allow members of group sudo to not need a password<br \/>\n# (Note that later entries override this, so you might need to move<br \/>\n# it further down)<br \/>\n# %sudo ALL=NOPASSWD: ALL<\/p>\n<p style=\"text-align: justify;\">Nous devons maintenant modifier les options qui vont permettre aux utilisateurs choisis d&rsquo;obtenir les droits root ponctuellement. On peut sp\u00e9cifier un par un chaque utilisateur, ou, plus pratique, les ajouter au groupe <em>sudo<\/em> et autoriser les utilisateurs de ce groupe \u00e0 lancer la commande sudo. C&rsquo;est cette derni\u00e8re possibilit\u00e9 que nous allons utiliser ici. Afin d&rsquo;autoriser les utilisateurs du groupe <em>sudo<\/em> \u00e0 lancer la commande sudo, on d\u00e9-commente la ligne suivante :<\/p>\n<p><code># %sudo ALL=NOPASSWD: ALL<\/code><br \/>\nen enlevant le \u00ab\u00a0#\u00a0\u00bb au d\u00e9but de celle-ci et en la modifiant quelque peu pour que le mot de passe soit tout de m\u00eame demand\u00e9 lors de l&rsquo;appel \u00e0 sudo. Elle devient ainsi :<br \/>\n<code>%sudo ALL=(ALL) ALL<\/code><\/p>\n<p style=\"text-align: justify;\">On quitte l&rsquo;\u00e9diteur en faisant ctrl+x puis en r\u00e9pondant \u00ab\u00a0o\u00a0\u00bb ou \u00ab\u00a0y\u00a0\u00bb quand il nous demande d&rsquo;enregistrer le fichier (selon que vous avez nano en fran\u00e7ais ou en anglais) puis \u00ab\u00a0Entr\u00e9e\u00a0\u00bb pour valider le chemin propos\u00e9 (<em>\/etc\/sudoers.tmp<\/em>). Si votre \u00e9diteur de texte n&rsquo;est pas nano mais vi, tapez echap puis <em>:wq!<\/em> pour quitter en sauvegardant.<br \/>\nIl suffit maintenant d&rsquo;ajouter notre utilisateur au groupe sudo gr\u00e2ce \u00e0 la commande suivante :<\/p>\n<p><code>srv-debian:\/home\/riri# usermod -a -G sudo riri<\/code><br \/>\nen rempla\u00e7ant bien sur <em>riri<\/em> par le nom d&rsquo;un utilisateur de votre machine.<br \/>\nVous pouvez maintenant vous relogger avec l&rsquo;utilisateur classique via la commande :<\/p>\n<p><code>srv-debian:\/home\/riri# su riri<br \/>\nriri@srv-debian:~$<\/code><br \/>\net vous pouvez d\u00e9sormais tester que la commande sudo est disponible :<br \/>\n<code>riri@srv-debian:~$sudo ifconfig<\/code><br \/>\nComme c&rsquo;est votre premier appel \u00e0 la fonction <em>sudo<\/em>, un message d&rsquo;avertissement apparait, vous rappelant que de grands pouvoirs impliquent de grandes responsabilit\u00e9s et qu&rsquo;il est de bon ton d&rsquo;utiliser cette commande avec d\u00e9ontologie et discernement :<br \/>\n<code><br \/>\nWe trust you have received the usual lecture from the local System<br \/>\nAdministrator. It usually boils down to these three things:<\/code><\/p>\n<p>#1) Respect the privacy of others.<br \/>\n#2) Think before you type.<br \/>\n#3) With great power comes great responsibility.<\/p>\n<p>[sudo] password for riri:<\/p>\n<p style=\"text-align: justify;\">Entrez le mot de passe de votre utilisateur (et non celui de root, sinon la commande sudo n&rsquo;aurait aucun sens). Le r\u00e9sultat de la commande s&rsquo;affiche ensuite. Vous pourrez utiliser ensuite la commande sudo pour pr\u00e9fixer les commandes disponibles uniquement pour root pendant un certain temps avant que le mot de passe ne vous soit redemand\u00e9.<br \/>\nDans un souci de s\u00e9curit\u00e9, m\u00eame si la commande sudo permet de faire les m\u00eames b\u00eatises que si vous \u00e9tiez logg\u00e9 en <em>root<\/em>, il est pr\u00e9f\u00e9rable de demander le mot de passe a chaque appel de <em>sudo<\/em>, cela vous permet d&rsquo;avoir un petit d\u00e9lai de r\u00e9flexion avant de valider chaque commande aveugl\u00e9ment. Pour ce faire, lancez visudo via la commande :<\/p>\n<p><code>riri@srv-debian:~$sudo visudo<\/code><br \/>\n(et oui, nous ne sommes plus logg\u00e9 en root, sudo trouve donc toute son utilit\u00e9 ici \\o\/), et recherchez la ligne<br \/>\n<code>Defaults env_reset<\/code><br \/>\npuis remplacez la par<br \/>\n<code>Defaults env_reset,timestamp_timeout=0<\/code><\/p>\n<p style=\"text-align: justify;\">enfin, sauvez et quittez. La modification est imm\u00e9diate. D\u00e9sormais, chaque appel \u00e0 <em>sudo<\/em> vous demandera votre mot de passe. Si toutefois vous pr\u00e9voyez d&rsquo;utiliser un grand nombre de commandes vous pouvez toujours ouvrir un shell root gr\u00e2ce \u00e0 la commande :<\/p>\n<p><code>riri@srv-debian:~$sudo -i<\/code><br \/>\nLorsque vous aurez termin\u00e9 vos manipulations, tapez <em>exit<\/em> dans la console pour revenir au shell de l&rsquo;utilisateur normal.<\/p>\n<p style=\"text-align: justify;\">Maintenant que nous avons trouv\u00e9 le moyen d&rsquo;avoir tous les droits sur notre machine, il est temps de nous en servir pour faire un serveur fonctionnel !<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Installation de sudo Maintenant que notre syst\u00e8me est fraichement install\u00e9, nous allons pouvoir passer \u00e0 l&rsquo;installation des diff\u00e9rents logiciels et&#8230; <a href=\"https:\/\/pro.richardbaret.fr\/?p=107\">Continue reading &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-107","post","type-post","status-publish","format-standard","hentry","category-non-classe"],"_links":{"self":[{"href":"https:\/\/pro.richardbaret.fr\/index.php?rest_route=\/wp\/v2\/posts\/107","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pro.richardbaret.fr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pro.richardbaret.fr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pro.richardbaret.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pro.richardbaret.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=107"}],"version-history":[{"count":34,"href":"https:\/\/pro.richardbaret.fr\/index.php?rest_route=\/wp\/v2\/posts\/107\/revisions"}],"predecessor-version":[{"id":244,"href":"https:\/\/pro.richardbaret.fr\/index.php?rest_route=\/wp\/v2\/posts\/107\/revisions\/244"}],"wp:attachment":[{"href":"https:\/\/pro.richardbaret.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=107"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pro.richardbaret.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=107"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pro.richardbaret.fr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=107"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}