Quelqu'un connait t-il le moyen de lancer un script Sql*Plus via un shell sans que les paramètres apparaissent dans les fonctions de type ps
sh -c zyx.sh un/pw
dans l'exemple, un/pw ne devrait pas être affiché...
Quelqu'un connait t-il le moyen de lancer un script Sql*Plus via un shell sans que les paramètres apparaissent dans les fonctions de type ps
sh -c zyx.sh un/pw
dans l'exemple, un/pw ne devrait pas être affiché...
non, à ma connaissance, ce n'est pas possible.
Le seul moyen pour ne pas afficher le password, c'est de ne pas en mettre !! (c'est à dire authentification OS)
ou de faire unet de préciser le login/password en dur dans le script, mais ce n'est pas forcément mieux....
Code : Sélectionner tout - Visualiser dans une fenêtre à part sqlplus /nolog @script.sql
Et en utilisant le standard Input?
zyx.sh :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 sqlplus /nolog <<EOF connect $1 EOF
Le script doit être lancé via une commande HOST(), donc le paramètre $1 serait un argument de cette commande. Coment alors ne serait-il pas visible ?Envoyé par plabrevo
En passant par le standard input, le mot de passe n'apparaitra pas dans la ligne de commande sqlplus visible sous ps. Le probleme devient celui plus generic de l'OS: comment passer des arguments d'un shell a un autre sans que ces parameters soient visible d'une autre session.
Une solution peut etre d'utiliser une variable, methode qui n'est pas blindee a 100% puisqu'il me semble que sous certaines platformes UNIX, les utilisateurs du meme nom pourront la voir:
ou bien d'utiliser la meme methode de standard input. Je n'ai pas d'example sous la main, quelque chose du genre:
Code : Sélectionner tout - Visualiser dans une fenêtre à part export VAR=system/manager; zyx.sh
Code : Sélectionner tout - Visualiser dans une fenêtre à part zyx.sh <parametres.txt
ps n'affiche plus les mots de passes depuis la version 10.1.0.4
je viens de faire le test avec une 10.2 et ça affiche toujours le mot de passe.Envoyé par laurentschneider
La seule différence que j'ai relevé, c'est que l'on peut faire
et non
Code : Sélectionner tout - Visualiser dans une fenêtre à part sqlplus / as sysdba
Code : Sélectionner tout - Visualiser dans une fenêtre à part sqlplus "/ as sysdba"
je pense alors que ça dépend du système d'exploitation.Envoyé par LeoAnderson
Sous AIX5L, ça n'affiche plus le mot de passe avec 10.1.0.4, 10.1.0.5 et 10.2.0.1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 $ sqlplus scott/tiger & [1] 3522684 $ ps -ef |grep sqlplus oracle 2056192 3604644 0 08:53:13 pts/0 0:00 grep sqlplus oracle 3522684 3604644 0 08:53:04 pts/0 0:00 sqlplus
sous AIX5L, 9.2.0.7 n'affiche pas non plus les mots de passes.
Une astuce (pas très élégante) consiste à ajouter 2000 espaces avant le nom de l'utilisateur pour ne pas apparaître ps
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 $ SPACE2000="$(perl -e 'print " "x 2000')" $ sqlplus "${SPACE2000}scott/tiger" & [1] 2056402 $ SQL*Plus: Release 9.2.0.6.0 - Production on Wed Feb 15 09:12:09 2006 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. Connected to: Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production JServer Release 9.2.0.6.0 - Production $ L> [1] + Stopped (SIGTTIN) sqlplus "${SPACE2000}scott/tiger++1" & $ $ ps -ef | grep sqlplus oracle 2056402 1003686 0 09:12:09 pts/0 0:00 sqlplus oracle 3768518 1003686 0 09:12:17 pts/0 0:00 grep sqlplus
Exact !
Mes premiers tests était "pas de bol" :
Sous SunOS : marche pas
Sous AIX : marche
Sous RH : mache
Il n'est pas toujours facile d'être élégant lorsque le problème ne l'est pasEnvoyé par laurentschneider
sous HP UX 11.11 et oracle 10.2 la password apparait en clair
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager