Bonjour,

Pour continuer dans certaines facilités pour "bypasser" certaines normes de sécurités établies par l'entité informatique d'une société (j'y vais molo je vais me faire incendié ;-) )

J'ai mis en place une petite astuce pour éviter la longueur de commande ou plusieurs commandes pour aller chercher des infos sur des serveurs distant d'un parc AIX qui ne peuvent être obtenu que par root

Contexte.
Aucun utilisateur du parc n'a le mot de passer root, même les admins. (enfin presque, il est donné que sous certaines conditions)
Ils ne peuvent que faire du ssh via un serveur dit de rebond (NIM pour ma part) pour ce loguer sur un serveur distant avec leur login usuel et la homedir suit le login (LDAP)
Ensuite (si le groupe le permet) il faut faire un sudo su - pour devenir root.
Normal.... jusque la
Mais cela demande bcp de commandes pour avoir la réponse d'une commande quelconque (par exemple visudo -c (note d'humour !! )).

De plus sachant qu'en fonction des versions d'AIX certaines commandes sont sous /usr/bin (PATH par défaut) et sur d'autres machine la même commande est sous /usr/local/bin
Et il n'est pas question de faire des link (ln) car en cas de migration de version cela pourrait contribuer à quelques soucis (déjà rencontré)

soit pour exemple

ssh srv "PATH=$PATH:/usr/local/bin" "sudo su \"-c visudo -c\" "

Certes cette cmd est longue mais pas infaisable, mais lorsque l'on souhaite avoir bcp d'infos comme moi sur la sécurité d'une machine (par cmd en direct ou par scripts cela devient long et fastidieux.

Alors voici l'astuce qui simplifie bien des commandes
2 cas

1 : Mettre une fonction dans vos scripts (ce n'est qu'un exemple )
FCT_SSH ()
{
ssh $SRV_D "PATH=$PATH:/usr/local/bin" "sudo su \"-c ${1} \" " 2>/dev/null
}

et ensuite
SRV_D=TOTO # Serveur Distant
FCT_SSH "visudo -c"

2 : En mode commande
créer un petit script dans votre homedir

$ vi .mon_script

#!/usr/bin/sh
ssh ${1} "PATH=\$PATH:/usr/local/bin:/usr/local/sbin" "sudo su \"-c ${2} \" " 2>/dev/null

dans le .profile
alias FSH="~/.mon_script"

Ensuite en mode commande

$ FSH srv_d "visudo -c"

Voilà

Bien à vous