Si vous utilisez Ubuntu vous avez sans doute régulièrement recours à la commande « sudo » qui sans vouloir entrer dans les détails, vous permet d’obtenir les droits « administrateur » sur une commande précise et ce, pour un temps donné (quelques minutes). En gros l’avantage est de vous permettre d’élever vos droits sur une commande et non sur l’ensemble du système.
Comme je le disais plus haut cette élévation est effective pour quelques minutes, après quoi pour la même commande il vous est demandé d’entrer à nouveau votre mot de passe. Si ce principe est très bien en terme de sécurité (les droits de restent pas actifs trop longtemps) le temps donné peut vous paraître un peu court si vous utilisez souvent sudo et vous avez peut-être envie d’en augmenter le timeout pour ne pas avoir à entrer trop souvent votre mot de passe.
Nb : Si vous n’utilisez sudo que pour vos mises à jour ou pour quelques commandes ici et là tous les 36 du mois, ne touchez à rien. Si en revanche vous utilisez souvent votre terminal et que vous ne connaissiez pas encore cette petite astuce, nous allons voir vite fait comment augmenter le timeout de la commande sudo sur Ubuntu (cela doit également fonctionner sur d’autres distributions ou dérivés, mais je n’ai pas testé).
Pour se faire rien de plus simple. Il suffit d’éditer le fichier suivant à l’aide de cette ligne de commande :
sudo visudo
Comme vous pouvez le voir sur la capture d’illustration, il suffit ensuite de modifier la ligne :
Defaults env_reset
en ajoutant la chaîne suivante, ou « XX » représente le nombres de minutes que vous voulez définir avant la fin du timeout :
timestamp_timeout=XX
La ligne modifiée devrait alors ressembler à ceci (n’oubliez pas la petite « , ») :
Defaults env_reset, timestamp_timeout=10
Il ne vous reste plus ensuite qu’à enregistrer les changements en pressant « CRTL+X », suivi d’un appui sur la touche « Enter ».
Ici j’ai choisi 10 minutes mais vous êtes libres de choisir la durée de votre choix. Par mesure de sécurité je me permet quand même de vous conseiller de ne pas choisir une valeur trop élevée.
Voilà, j’espère que cela vous sera utile, amusez-vous bien.
Si je sais que j’ai besoin d’être en administrateur sur plusieurs commandes, et pendant un temps plus ou moins long, je préfère faire :
$ sudo su
Puis ensuite mon terminal est en root, et ce pour tout le temps nécessaire. Ensuite un petit « exit » me permet de sortir de cet état.
Je ne pense pas qu’utiliser à la suite plusieurs commandes à l’aide de sudo soit pratique. En effet faire « sudo su » puis « exit » nécessite 11 caractères et deux entrées, alors que écrire « sudo » devant chacune des commandes, demande 5 caractères par commande (les 4 de sudo et l’espace supplémentaire) mais pas d’entrées supplémentaires. Donc si on sait que l’on a plus deux commandes à exécuter, il est préférable de faire « sudo su » ! CQFD !
Je ne suis pas d’accord avec toi.
C’est juste une solution de facilité qui dans les faits « tue » tout l’intérêt de sudo en ouvrant ton Shell en root sur l’ensemble des commandes système disponibles. Dans ce cas tu peut tout aussi bien te loguer en root direct, tu ne prendras pas moins de risques…
On m’a fait la même remarque où j’ai précisé que ce n’est plus dans ce cas un « sudo », mais juste « une session root ». Je n’en démords pas :)
Si je le fais parfois car c’est pratique je te l’accorde (pas bien), je ne saurais conseiller « sudo su » à nos lecteurs, dont certains sont peut-être débutants.
Autrement il y a encore plus rapide sur les vrais UNIX:
su –
et hop on est root :D
Pour la session root c’est une prise de risques inconsidérée et idiote, car toute faille sur un logiciel en espace utilisateur peut compromettre l’intégralité du système.
sudo permet des commandes élevée sur un temps données
su permet d’avoir un TTY dans l’environnement root. Ce tty ouvrant une nouvelle réelle session root il reste totalement séparé de l’utilisateur, contrairement à sudo.
su – n’a pas l’air de fonctionner sur Ubuntu contrairement à sudo su. Il indique un mot de passe non valide.
Je suppose que cette fonction marche sur les distributions qui exigent des mots de passe root et utilisateurs spécifiques?
Eh bien si,
en root, mets lui un mot de passe et hop. C’est juste que ubuntu ne met pas un mot de passe à root à l’installation (ou aléatoire je ne sais plus).
Non il n’en met pas par défaut. Le mot de passe root et utilisateur est le même. Mais en fait ça fonctionne, j’ai juste oublié le plus important. Indiquer l’user après su (suis fatigué) :)
Si tu mets su – user c’est comme si tu n’avais rien fait, tu te remets dans ton contexte user.
C’est su – root ou su -.
su – ne fonctionne pas, il faut spécifier un user sur Ubuntu :
lavachelibre@lavachelibre:~$ su –
Password:
su: Authentication failure
sudo su –
passwd
La tu mets le mot de passe que tu veux
exit
su –
ca marche :)
Ah ok donc tu colles quand même un « sudo » devant :)
(fallait le dire tout de suite:)
Juste pour le changement de mot de passe après il n’y en a plus besoin ^^
Ok je vois maintenant (on y arrive :))!
Cela je continue quand même de recommander sudo en utilisation courante ;)