Imiter gksu sur Fedora

Tags:: fedora :: linux

Sur Ubuntu, les utilisateurs ont l'habitude de sudo et de son interface graphique gksudo. Fedora ne propose pas sudo de base et par conséquent vous n'avez pas gksudo. Sur Fedora, on utilise le bon vieux "su" en console.

Bien que l'outil "gksu" n'est pas intégré ni packagé, on voit parfois un popup apparaître nous demandant notre mot de passe root. Par exemple, en lançant l'outil d'installation de paquet ou pour utiliser un outil d'administration. Ce popup est en fait une utilisation de l'outil "consolehelper" qui permet d'utiliser "PAM" pour vérifier les accès. Si un besoin spécifique est nécessaire, il demande le mot de passe root via un popup.

Nous pouvons rendre ce système adaptable à un genre de "gksu". En d'autres termes, nous pouvons réaliser un outil qui permet de demander le mot de passe root pour des commandes que nous aimerions lancer avec les droits d'administrateur.

J'ai nommé cet outil "askroot"... et si je dis "outil" je fais un abus de langage tant la manip est simple.

Voici ce que je vous propose de faire.

En premier lieu, on va créer un script qui sera "caché" du système. En fait, on va le placer ailleurs que dans les chemins par défaut ($PATH). Ouvrez un terminal (console) et authentifiez vous en root


su -
 

Ensuite, copiez coller ces lignes dans votre console:


mkdir -p /usr/share/apps/askroot
cat 1>  /usr/share/apps/askroot/askroot <<EOF
#!/bin/bash
exec \$@
EOF

chmod +x /usr/share/apps/askroot/askroot

cat 1> /etc/pam.d/askroot <<EOF
#%PAM-1.0
auth        include     config-util
account     include     config-util
session     include     config-util
EOF

cat 1>  /etc/security/console.apps/askroot <<EOF
USER=root
PROGRAM=/usr/share/apps/askroot/askroot
SESSION=true
EOF

ln -s /usr/bin/consolehelper /usr/bin/askroot
 

[edit 24/05/2009] Oubli du caractère d'échappement pour $@$@
[edit 25/05/2009] Oubli de rendre askroot exécutable via un chmod +x

C'est terminé ! Fermez le terminal et testons. Pressez les touches ALT+F2, un popup vous propose de taper une commande. Entrez "gnome-terminal".

Pour le moment, vous voyez dans le "prompt" votre login suivit du nom de la machine, du genre:


[patachou@patrice-desktop ~]$
 

Fermez ce terminal, et tentons de l'ouvrir en root: ALT+F2 et dans l'entrée de texte tapez "askroot gnome-terminal"

Un popup apparait et vous demande votre mot de passe root. Entrez le... et cette fois le terminal s'ouvre et vous laisse apparaitre "root@" suivit de votre nom de machine. Par exemple chez moi:


root@patrice-desktop ~]#
 

Vous l'aurez compris, maintenant vous pouvez lancer une commande root sans ouvrir de console, graphiquement, etc...

Ce petit outil est particulièrement utile pour des scripts que vous voulez rendre executable par root sans ouvrir une console. J'ai par exemple un "lien vers une application":


askroot 'service httpd restart' | zenity --pulsate --progress --auto-kill --title "Relance apache..." --text "Apache en cours de redémarrage"
 

En gros, Le script me demande mon mot de passe root si besoin et relance apache. Zenity me permet de savoir si le redémarrage est terminé.

Notez que le system "consolehelper" permet de garder en session les droits. De ce fait, dans une session Gnome, si vous avez déjà entré votre mot de passe root pour une commande "askroot", il ne vous le remdemande pas. Ceci à condition que la commande soit exactement la même :)

Bref, amusez vous maintenant à créer des icones sur le bureau pour relancer des services de la même manière que je le fais. Vous allez gagner un temps fou !

Astuce: vous voulez taper "gksu" au lieu de "askroot", faites un lien symbolique:


askroot "ln -s /usr/bin/askroot /usr/bin/gksu"
 

et le tour est joué :)

Utilisez le code barre pour ouvrir le ticket dans votre mobile:
This ticket on you mobile
1 Jeudi 09 Juillet 2009 16:06:33, baby_sad_clown

en root:
yum install beesu

@++

Ajouter un commentaire
Veuillez répondre à la question suivante : Taper "geek" sans les guillemets

Trackbacks

Pour ajouter un trackback (retrolien) sur ce ticket, utilisez cette adresse: http://www.metal3d.org/index.php/trackback/default/tb?id=blog%2F193

Tags

Blog Copix Communication PC Config Fedora Vidéo Humour Autre Web Materiel Informatique PHP Développement Mootools HTML Linux WEB IE CSS Vista Microsoft Sympa XHTML Quizz Widget Klik CWE Voeux Bonne année Musique CCRMA Son Audio MAO Reconnaissance vocale Windows Mac Compiz MacOS Mysql Sun Base de données BD Screenlets Screenlet RPM compiz Ubuntu Live FireFox Derambarsh Facebook media informations Sécurité javascript SSH Commande Marketing concours ipod wii QT Trooltech Nokia Libre Logiciels GPL Attali Gnome Dock Compiler Bench undelete reiserfs recovery recover Thread Serveur Optimisation Server Apache Album RSS Flash Air XML Firefox Blender Opensource Orange Internet LiveBox Animaux Droits Logiciels Libres Google Loi RBS netcat Bash Téléphone Spam 3D NIDIA Standards Widgets Merise UML Streaming Developpement Perl MySQL Firewall Parfeu Bayes Novell Réseau Python LVS Salon FTP Dedibox Chrome Administration IRC Gentoo troll video Nouveauté Finance Etudiant spéctacle OpenOffice Javascript Java Info Eclpise ATI design mootools KDE Bureau Design GNU C Pages Jaunes Fun Bijoux Art mail Admin vmware fedora linux VirtualBox VMWare Qemu KVM vim Grep Fglrx Webkit GTK google web JQuery Coup de gueule coup de gueule Lois SVG Raycaster Canvas Hadopi Desktop Jeux Les Sims développement astuces Screen firefox Mobile Safaru Wine bash commande astuce Wave ooc C++ C# Netbook Hercules Bureautique Twitter Safari W3C chrome kazehakaze midori navigateur gecko webkit Links Liens Pyhon Nouvelles Metal Perso Conférence JDLL PCC Roadsend OOC News Acteur Cinéma Chanteur Seven windows orthographe pcc php jdll Slide Application mysql Html twitter python screen curses SVN Android Gphone iPhone OpenGL MindMap Projet Javascrtip Ajax Guitare Tab Tablature JSON firebug Chromium Iphone Titanium music sound android ogg ogv streaming Arkyne svn subversion gnome VLC Tv encoder ffmpeg Cryptage apple microsoft HTML5 Max Apple code youtube quvi git uzbl webgl chromium

  Catalogue professionnel de musique libre


  • twitter entries...
follow me on Twitter

Valid XHTML 1.0 Strict

tumblr visitor