# Sudo

<big>Sudo</big> (Parfois considéré comme l'abréviation de **S**uper-**u**ser **do**) est un programme dont l'objectif de permettre à l'administrateur du système d'autoriser certains utilisateurs à exécuter des commandes en tant que [superutilisateur](https://wiki.debian.org/fr/Root) (ou qu'un autre utilisateur). La philosophie qui sous-tend cela est de donner aussi peu que possible de droits, mais de permettre quand même aux utilisateurs de faire leur travail. Sudo est aussi un moyen efficace d'enregistrer qui a exécuté quelle commande et quand. <span class="anchor" id="bkmrk-"></span><span class="anchor" id="bkmrk--1"></span>

## Notes pour les nouveaux utilisateurs de Debian

<span class="anchor" id="bkmrk--3"></span><span class="anchor" id="bkmrk--4"></span>

Certains nouveaux utilisateurs de Debian, venant généralement de Ubuntu, sont choqués par les problèmes du type : « sudo ne fonctionne pas dans Debian ». Cette situation n'arrive cependant que si vous avez configuré un mot de passe superutilisateur (root) durant l'installation de Debian. <span class="anchor" id="bkmrk--5"></span><span class="anchor" id="bkmrk--6"></span>

Si vous aimez sudo que vous voulez l'installer (même si vous l'avez sauté durant l'installation de votre Debian), vous pouvez, devenir superutilisateur avec la commande <tt>su</tt>, l'installer, et vous ajouter votre propre nom d'utilisateur dans le groupe <tt>sudo</tt> et faire une déconnexion puis une reconnexion complète. <span class="anchor" id="bkmrk--7"></span><span class="anchor" id="bkmrk--8"></span>

Exemple : <span class="anchor" id="bkmrk--9"></span><span class="anchor" id="bkmrk--10"></span>

- <span class="anchor" id="bkmrk--11"></span><span class="anchor" id="bkmrk--12"></span><span class="anchor" id="bkmrk--13"></span><span class="anchor" id="bkmrk--14"></span><span class="anchor" id="bkmrk--15"></span><span class="anchor" id="bkmrk--16"></span><span class="anchor" id="bkmrk--17"></span>```bash
    su -
    #Password: (entrez ici le mot de passe superutilisateur que vous avez défini dans l'installation de votre Debian et appuyez sur la touche #Entrée)
    
    apt install sudo
    
    sudo adduser USER sudo
    ```
    
    <span class="anchor" id="bkmrk--18"></span><span class="anchor" id="bkmrk--19"></span>

Puis veuillez effectuer une complète déconnexion et reconnexion. <span class="anchor" id="bkmrk--20"></span><span class="anchor" id="bkmrk--21"></span>

## Pourquoi pas sudo ?

<span class="anchor" id="bkmrk--23"></span><span class="anchor" id="bkmrk--24"></span>

Notez que, historiquement, tous les systèmes de type Unix fonctionnaient parfaitement même avant que « sudo » ne doit inventé. De plus, avoir un système sans sudo pourrait apporter encore plus de sécurité car le paquet sudo pourrait être affecté par des bogues de sécurité, comme toute partie additionnel de votre système. <span class="anchor" id="bkmrk--25"></span><span class="anchor" id="bkmrk--26"></span>

Nombre d'utilisateur de Debian n'installent pas sudo. Ils ouvrent à la place un terminal en tant que supertulisateur (par exemple avec la commande <tt>su -</tt> à partir d'un utilisateur normal). Ainsi, vous n'avez pas placer « sudo » devant n'importe quelle commande. <span class="anchor" id="bkmrk--27"></span><span class="anchor" id="bkmrk--28"></span>

## Pourquoi sudo ?

<span class="anchor" id="bkmrk--30"></span><span class="anchor" id="bkmrk--31"></span>

Utiliser <tt>sudo</tt> pourrait être un plus familier pour les nouveaux utilisateur et est meilleur (plus sûr) que d'ouvrir une session en tant que superutilisateur pour un certain nombre de raisons dont : <span class="anchor" id="bkmrk--32"></span>

- Personne n'a à connaitre le mot de passe du superutilisateur (<tt>sudo</tt> demande le mot de passe de l'utilisateur courant). Des droits supplémentaires peuvent être accordés temporairement à des utilisateurs puis retirés sans qu'il soit besoin de changer de mot de passe. <span class="anchor" id="bkmrk--33"></span>
- Il est facile de n'exécuter que les commandes qui nécessitent des droits spéciaux avec <tt>sudo</tt> et le reste du temps, on travaille en tant qu'utilisateur non-privilégié, ce qui réduit les dommages que l'on peut commettre par erreur. <span class="anchor" id="bkmrk--34"></span>
- Contrôler et enregistrer : quand une commande sudo est exécutée, le nom de l'utilisateur et la commande sont enregistrés. <span class="anchor" id="bkmrk--35"></span><span class="anchor" id="bkmrk--36"></span>

Pour toutes les raisons ci-dessus, la possibilité de *basculer* en superutilisateur en utilisant <tt>sudo -i</tt> (ou <tt>sudo su</tt>) est habituellement désapprouvée parce que cela annule la plupart les avantages cités ci-dessus.