Ceci est une ancienne révision du document !
Sudo
Toutes versions
Maintenu et adapté de sudo par Id2ndR.
Cette page est liée à la documentation sur généralites de sudo. Vous devriez consulter cette dernière si ce n'est déjà fait.
Cette page détaille quelques options de configuration.
Options
La configuration de sudo est définie dans le fichier /etc/sudoers
.
Consultez la section Fichier /etc/sudoers corrompu si vous avez un problème avec ce fichier.
« Insultes »
Un peu de bonne humeur grâce à sudo
, si vous modifiez la ligne suivante :
Defaults !lecture,tty_tickets,!fqdn
en ajoutant insults
:
Defaults !lecture,tty_tickets,!fqdn,insults
Vous affichera un autre message que le sempiternel « Sorry, try again » lorsque vous vous trompez dans le mot de passe 1). Ce qui donne :
sudo cat /etc/sudoers Password: Where did you learn to type? Password:
Ca égaye un peu votre journée
Commandes sans mots de passe
Ne pas généraliser à plus de commandes
Definissons les commandes autorisés par exemple less
:
Cmnd alias specification Cmnd_Alias LESS = /usr/bin/less
Puis éditons les privileges du groupe « admin » 2).
# Members of the admin group may gain root privileges %admin ALL=(ALL) ALL, NOPASSWD: LESS
Voilà dorénavant un sudo less
ne demandera pas de mot de passe aux membres du groupe admin 3).
Utilisation avancée
Pour une configuration poussée reportez vous à la page de manuel sur sudoers 4).
Toutes les commandes passées en sudo sont consignées dans le fichier /var/log/auth.log
consultable via l'outil « Applications → Outils Système → Visionneur de journaux système ».
Fichier /etc/sudoers corrompu
Il peut arriver lors de vos manipulations que vous corrompiez le fichier /etc/sudoers
, il vous affichera alors quelque chose du genre :
sudoers file: syntax error, line 19 sudo: parse error in /etc/sudoers near line 19
Vous pouvez aussi avoir modifié par megarde les droits du fichier :
sudo: bad permissions (ou autre)
Dans ce cas vous ne pouvez le corriger puisque vous avez besoin de sudo pour le modifier. Vous avez alors plusieurs possibilités pour retrouver des droits d'administrateur et le corriger :
- Utiliser un live-cd :
Dans ce cas, aucun problème, inserez le CD et redemarrez.
- Redemarrer en rescue mode :
Ce mode est disponible à l'ecran de Grub lors du demarage de l'ordinateur. Il vous enverra directement en mode texte et vous connecterra en tant qu'administrateur.
Une fois que vous etes connecté, si c'est juste un probleme de droits vous pouvez les corriger directement avec chmod et demarrer en mode normal avec la commande
$ init 2
Sinon, soit vous avez les competences necessaire pour modifier le fichier /etc/sudoers, soit vous avez besoin d'aide et en mode rescue vous ne pouvez pas lancer votre client IRC ou votre navigateur. Je propose donc de reactiver temporairement le compte root :
$ passwd -d root
Demarrez ensuite le systeme complet avec :
$ init 2
Maintenant connectez vous en root :
$ su -
Vous pouvez maintenant corriger les erreurs avec visudo. Une fois le probleme reglé, desactivez le compte root :
$ sudo passwd -l root
Si cette derniere commande a fonctionné, tout est rentré dans l'ordre :).
Exceptions
Cette section sera probablement déplacée sur les pages de documentation des applications concernées.
Si vous ne trouvez pas comment faire, merci d'ajouter de faire une entrée sur le forum et de mettre un lien ici.
Sous Unix tout est fichier, les peripheriques aussi, /dev
est le dossier correspondant aux peripheriques, /proc
celui réservé aux processus et commentaires du noyau par exemple /proc/cpuinfo
donne les infos sur votre processeur (infos que le noyau a découvert au boot) impossible de le modifier donc. Filesystem_Hierarchy_Standard pour plus d'informations.
Certains fichiers de /proc
peuvent être édités, mais pas tous, directement ou avec sysctl
(voir man sysctl.conf
).
Systeme : sudo: timestamp too far in the future
Ceci vous arrive très certainement au même moment que lors du passage à l'heure d'hiver !
Pour cause la date/heure du système recule d'1 heure, sans prendre ses précautions pour sudo
Dans ce cas il convient de faire ceci :
sudo -s # pour passer en mode terminal root rm -rf /var/run/sudo/<<userlogin>>
Ensuite on doit pouvoir faire sudo
en tant que simple utilisateur
Webmin
Pour mettre un mot de passe à root, mais que pour Webmin :
sudo /usr/share/webmin/changepass.pl /etc/webmin root mot_de_passe_pour_webmin
Gras
MySQL
Pour phpMyadmin aussi donc :
sudo mysqladmin -u root password nouveau_mot_de_passe
Plus de détails sur la faq mysql.
sudo less /etc/password
mais avec demande de mot de passe/etc/sudoers
plutôt que de casser sa machine