[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Root sous X



Bonjour,

Le 2021-12-04 20:11, TScholler a écrit :
Pour cette fois, j'aimerais aoir une explication détaillé du script
que Basile nous offre ci-dessous et de son action.

Le 04/12/2021 à 19:40, Basile Starynkevitch a écrit :
#!/bin/bash
# fichier ~/bin/superterminal

export SUDO_ASKPASS=/usr/bin/ssh-askpass
/usr/bin/sudo --background --askpass /usr/bin/xfce4-terminal --disable-server --color-text=darkred --color-bg=yellow --title=super-$(/bin/hostname) --working-directory=/

`/usr/bin/sudo --background` => demande à `sudo` de lancer en arrière-plan… `/usr/bin/xfce4-terminal` => … la commande `xfce4-terminal` avec plein d'arguments pour changer sa couleur et son titre (j'imagine, pour ne pas risquer de la confondre avec une autre
                                  fenêtre non-sudo)

Et puis il y a le `--askpass` qui indique à `sudo` la méthode pour demander le mot de passe (ici via la commande `/usr/bin/ssh-askpass` indiquée dans la variable d'environnement `SUDO_ASKPASS`).

L'avantage de cette approche : on obtient un terminal réutilisable à l'infini pour lancer des commande en tant que
root.

Perso je trouve que c'est beaucoup trop permissif. Lancer une commande en tant que root n'est pas anodin. Tout ce qui le rend anodin rapproche l'utilisateur du moment où il fera une connerie parce qu'il aura tapé trop vite.

`sudo` propose une approche intermédiaire qui permet à l'utilisateur de lancer plusieurs commandes sans devoir saisir son mot de passe à chaque fois, avec un délai au delà duquel le mot de passe est demandé de nouveau.
À mettre dans un fichier du dossier `/etc/sudoers.d/`

```
Defaults:<ident-utilisateur>    timestamp_timeout=<durée>
```

Cette méthode :
- permet à l'utilisateur de se rendre compte de ce qu'il fait (car il doit taper `sudo` devant chaque commande
      qu'il veut exécuter en tant que root),
- évite à l'utilisateur de devoir taper son mot de passe à chaque commande, - "ferme" la session `sudo` au bout d'un certain temps et évite que quelqu'un d'autre puisse la réutiliser.

Sébastien


Reply to: