Rechercher : dans
Par :

Syntaxe de la commande su + password en batch

Dernière réponse le 29 oct 2007 à 22:39:18 coucouille, le 28 oct 2007 à 22:43:21 
 Signaler ce message aux modérateurs

Bonjour,

Sur UNIX je dois faire le ménage (pour gagner de l'espace) dans un espace professionnel et ce pour 18 users différents.
Je ne peux être root et donc il faut que je change de nom de user 18 fois pour faire les même find et rm pour chaque environnement.
par conséquent je ne connaîs pas la syntaxe de la commande su afin de donner le password pour chaque user.

Mon idée c'est de mettre dans un fichier "user_mdpass " à part le user,mot-de-passe

faire une boucle for i in `cat user_mdpass `
su .....

find .....rm...

done

Quelle est la syntaxe pour donner le mot de passe ?

Merci de votre retour.

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « syntaxe de la commande su + password en batch » dans :
[Linux] Utiliser la commande 'su' Voir Préambule Se connecter sous un autre ID utilisateur avec "su" Démarrer un nouveau shell de connexion avec "su -" Revenir au shell précédent Suspendre le shell du compte root Notes Préambule La commande "su" (Switch User, appelée plus...
Syntaxe de la ligne de commande NT/XP VoirSyntaxe de la ligne de commande NT/XP Voici une page web décrivant la syntaxe de la ligne de commande de Windows NT/2000/XP/2003 (cmd.exe). On y retrouve comment faire des boucles, découper des chaînes de caractères, manipuler les dates, utiliser...
Gérer le registre en ligne de commande VoirCette astuce vous permet de gérer la base de registre en ligne de commande avec la commande REG. Ceci pourrait être utile en cas d'infection qui empêche l'accès au registre ou bien lorsqu'on veut créer un batch qui modifie le registre. Remarques...
Comment récupérer le résultat d'une commande dans une variable VoirComment récupérer le résultat d'une commande dans une variable Préambule Syntaxe Exemples Préambule Il est bien souvent nécessaire de récupérer le résultat d'une commande (ou de son code retour) dans une variable afin de pouvoir...

1

jee pee, le 28 oct 2007 à 23:11:25

Bonsoir,

sur la commande su il n'est pas possible de passer un mot de passe, le shell va donc poser la question.

et je me rappelle avoir essayé de rediriger le user input mais sans succès. J'ai abandonné pour executer les script en les lancant à partir de root.

cdt

Répondre à jee pee

2

jipicy, le 28 oct 2007 à 23:34:55
  • +1

Salut,

Tu pourrais essayer avec la commande "expect" en appelant un script (expect) et en lui passant le nom et le password en argument. Voilà un petit bout de script qui marche chez moi. Le script ne fait rien d'autre que se connecter sous l'identité passer en 1er argument avec le mot de passe passé en 2nd argument, une fois connecté, on affiche le répertoire où on se trouve, on liste ledit répertoire et on quitte...

#!/usr/bin/expect -f

set force_conservative 1 ;

set timeout 2

set name [lindex $argv 0]
set pass [lindex $argv 1]

spawn su - ${name}
expect "password:\r"
send -- "$pass\r"
expect -gl "\\\[*]\$*"
send_user  "\rJe suis dans le répertoire : "
send -- "pwd\r"
expect -gl "\\\[*]\$*"
send -- "ls -l\r"
expect -gl "\\\[*]\$*"
exit
A adapter ;-))

Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

4

 coucouille, le 29 oct 2007 à 22:39:18

Bonjour,

Merci pour ton retour et le soutien de tous. Je vais adapter ton script pour voir si cela convient
et te fera un retour dès résultat.

Cordialement mon ami.

Répondre à coucouille

3

francois, le 29 oct 2007 à 08:38:54

Bonjour,

le principe de stocker des mots de passes, est completement contre les regles de securités de bases dans un environnement professionnel;
mais tu peux utiliser des outils tels que :
- sudo : te permet de devenir n'importe quel user. ( valable sous linux/Sun solaris/HP UX/ AIX ) freeware
- rbac : sous solaris au moins ( inclus dans l'OS de base a partir de la version 9)

Ces 2 outils te permettent de devenir n'importe quel user, et d'effectuer des commandes comme si c'etait eux qui les effectues. mais doivent etre configurés par un administrateur systeme.

Répondre à francois