====== sudo ====== ===== Généralités ===== Commande qui permet d'effectuer une gestion fine des permissions des comptes utilisateurs. ===== Mettre en place sudoers pour un compte ===== Se connecter en root sur la machine. Utiliser la commande pour éditer le fichier de configuration de sudo ''/etc/sudoers''. visudo Voici un exemple complet. ## Consultation Cmnd_Alias CONSULT = /bin/ls, /bin/cat, /bin/more, /bin/grep, /usr/bin/find, /bin/view ALL=(root)NOPASSWD:NOEXEC:CONSULT ===== Restreindre les applications ===== Il y a des fonctions cachées dont il faut se méfier. Exemple : vim, less et quelques autres commandes peuvent autoriser un shell et exécuter des commandes en utilisant l'opérateur ''!'' comme suit. :!aptitude Le risque est de donner la possibilité par ces programmes d'exécuter ce qu'on veut en root! Pour limiter ce désagrément, utiliser l'option ''NOEXEC'' qui interdit cette possibilité. ===== Restreindre le changement d'utilisateur ===== Pour lancer une commande en tant qu'un autre utilisateur (autre que root), on utilise sudo de la manière suivante : sudo -u username command Pour se prémunir de ca, ajouter ''(root)''. nom_compte ALL=(root)NOPASSWD:NOEXEC:CONSULT Du coup, le compte adm_local peut uniquement exécuter les commandes de l'alias CONSULT en tant que root. ===== Restriction tty ===== Lors de l'utilisation de sudo à travers un shell script, l'exécution n'est pas réalisée à travers un tty complet comme lorsqu'on est connectée sur une machine. L'option par défaut (''Defaults requiretty'') oblige un tty pour l'utilisation de sudo. Pour contourner cela sur un utilisateur spécifique, procéder de la manière suivante. Defaults: !requiretty ===== Exemple de sudoers complet ===== sudoers avec NOEXEC et EXEC pour le même compte sur plusieurs alias de commandes. ## Besoin AIV conservation privileges Cmnd_Alias CONSULT = /bin/ls, /bin/cat, /bin/more, /bin/grep, /usr/bin/find, /usr/bin/diff, /bin/view Cmnd_Alias EXTRACT = /bin/tar ALL=(root)NOPASSWD:NOEXEC:CONSULT ALL=(root)NOPASSWD:EXTRACT Defaults: !requiretty ===== Lien utiles ===== * Configuration globale : https://help.ubuntu.com/community/Sudoers * Configuration globale : http://ubuntuforums.org/showthread.php?t=1132821 * Cas du ''sudo cd'' : http://linuxcommando.blogspot.com/2007/11/sudo-hacks-making-cd-and-redirection.html