PDMenu : ssh pour les novices

PDMenu : ssh pour les novices

Categories Discover, How to, Linux, Network, SysAdmin


Récemment, j’ai eu besoin de donner l’accès à mon serveur à un ami pour qu’il puisse démarrer/redémarrer certains services au cas ou ils seraient éteints ou plantés. Étant donné qu’il était plutôt novice et que je ne voulais pas qu’il accède en lecture aux fichiers de configuration, j’ai décider de le « chrooter » (enfermer) dans un shell limité.
Bien sur, il en existe pas mal, comme rbash… Mais j’en ai déterrer un spécial: PDMenu.

Ce petit shell permet en effet d’afficher un menu au lieu de la traditionnelle li

gne de commande! Après avoir configurer le menu, l’utilisateur ne pourra utiliser que les options disponibles dans le menu. Les possibilités de PDMenu sont vastes:
Création de sous menu
Possibilité de laisser le choix entre plusieurs paramètres
Affichage de la sortie de chaque programme
Possibilité de renseigner/éditer des paramètres

Petit aperçu de ce que cela donne:

Couplé à SSH et à sudo, ça peut devenir intéressant pour un administrateur afin d’effectuer les tâches récurrentes (ping, ifconfig, etc…).

Un petit apt-get install pdmenu pour l’installer (Debian, Ubuntu), le fichier de configuration s’appelle pdmenurc dans /etc/, mais il peut être personnalisé pour chaque utilisateur en plaçant un fichier .pdmenurc dans /home/$USER$.
Après, ne pas oublier de changer le shell par défaut dans /etc/passwd :

[codesource]
user1:x:1002:1001:,,,:/home/user1:/usr/bin/pdmenu
[/codesource]

Ensuite, il n’y a plus qu’a se logger (local ou ssh) et voilà!

Mon fichier de configuration: (cliquez sur « view sourcecode » en haut à droite de la petite fenêtre)
<br>menu:home:Home Menu:Welcome to Luke’s Admin Interface<br>show:&amp;lt;Hello root!&amp;gt;<br>color:menu:black:green<br>color:selbar:blue<br>nop<br>color:desktop:blue:blue<br>color:title:blue:white<br>color:base:blue:white<br>nop:Main Menu<br>nop:————————————–<br>show:&nbsp;&nbsp; Network Configuration::network_conf<br>show:&nbsp;&nbsp; Daemons Configuration::daemon_conf<br>nop<br>nop:Miscellaneous<br>nop:————————————–<br>exec:&nbsp;&nbsp; Reboot::clear;sudo shutdown -r now<br>exec:&nbsp;&nbsp; Shutdown:exec:sudo shutdown -h now<br>exec:&nbsp;&nbsp; Change Password:pause:clear;passwd<br>nop<br>exit:Exit<br><br>menu:network_conf:Network Configuration:Network Configuration<br>show:&amp;lt;Network Configuration&amp;gt;::<br>nop<br>nop:Network Information<br>nop:————————————–<br>exec:&nbsp;&nbsp; Show IP Address and Subnet:display:/sbin/ifconfig eth0<br>exec:&nbsp;&nbsp; Show Routes:display:/sbin/route -n<br>nop<br><br>nop:Configuration<br>nop:————————————–<br>exec:&nbsp;&nbsp; Add Route:edit,pause:clear;sudo /sbin/route add -net ~Destination:~ netmask ~Subnet:~ $<br>exec:&nbsp;&nbsp; Remove Default Gateway:edit,pause:clear;sudo /sbin/route del default gw ~Default Gatew$<br>exec:&nbsp;&nbsp; Remove Route:edit,pause:clear;sudo /sbin/route del -net ~Destination:~ netmask ~Subnet$<br>nop<br><br>nop:Diagnosis<br>nop:————————————–<br>exec:&nbsp;&nbsp; Ping:edit,pause:clear;ping ~Address:~<br>exec:&nbsp;&nbsp; Show netstat:display:sudo netstat -tuna<br>nop<br>exit:Return to Main Menu<br><br>menu:daemon_conf:Daemon Configuration:Daemon Configuration<br>color:title:blue:white<br>show:&amp;lt;Daemon Configuration&amp;gt;<br>nop:<br>nop:Daemons control<br>nop:————————————–<br>exec:&nbsp; Restart Samba:display:sudo /etc/init.d/samba restart<br>exec:&nbsp; Restart Transmission:display:sudo /etc/init.d/transmission-daemon restart<br>exec:&nbsp; Restart OpenSSH:display:sudo /etc/init.d/ssh restart<br>exec:&nbsp; Stop Samba:display:sudo /etc/init.d/samba stop<br>nop:<br>nop:Config Daemons<br>nop:————————————–<br>exec:&nbsp; Edit smb.conf:exec:sudo nano /etc/samba/smb.conf<br>exec:&nbsp; Edit user1.smb:exec:sudo nano /etc/samba/user1.smb<br>nop:<br>exec:&nbsp; Edit Transmission config:exec:sudo nano /var/lib/transmission-daemon/info/settings.json<br>nop:<br>exec:&nbsp; Edit sshd config:exec:sudo nano /etc/ssh/ssh_config<br>nop:<br>exit:Return to main menu<br>

Je me suis inspiré d’un autre fichier de configuration, ici!
Pour la syntax: pwet.fr

I'm passionnated

Leave a Reply

Your email address will not be published. Required fields are marked *