IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration Oracle Discussion :

Mots de passe expirés


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de olivanto
    Responsable d'exploitation informatique
    Inscrit en
    Mars 2005
    Messages
    513
    Détails du profil
    Informations professionnelles :
    Activité : Responsable d'exploitation informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2005
    Messages : 513
    Par défaut Mots de passe expirés
    bonjour,

    J'ai un problème, je n'avais pas vu qu'il y avait une expiration des mots de passes sur ma 11g.

    je viens de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ALTER PROFILE DEFAULT LIMIT
    FAILED_LOGIN_ATTEMPTS UNLIMITED
    PASSWORD_LIFE_TIME UNLIMITED;
    Mais les users restent en position (mot de passe expiré) ; je vais pas tous les recréer !!

    Comment dois je faire ??? A l'aide !!!!! Je n'ai même plus accès à la console OEM (mot de passe expiré...) !!

  2. #2
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 461
    Par défaut
    Ce n'est pas une bonne idée que de passer FAILED_LOGIN_ATTEMPTS à UNLIMITED, car ainsi vous ouvrez la porte à d'hypothétiques attaques par force brute. Au contraire, avec la valeur par défaut, qui me paraît tout à fait raisonnable, le compte sera verrouillé après 10 erreurs consécutives sur le mot de passe.

    Pour revenir au centre du problème, qui est un grand classique en V11, vous n'avez heureusement pas besoin de recréer les comptes !
    En revanche, il faut réinitialiser leur mot de passe, sans quoi la date d'expiration ne sera pas recalculée.

    La note Metalink 162818.1 propose une procédure qui permet de réactiver le mot de passe actuel, avec laquelle vous pourrez traiter tous vos comptes en 2 coups de cuillère à pot.

  3. #3
    Membre éclairé Avatar de olivanto
    Responsable d'exploitation informatique
    Inscrit en
    Mars 2005
    Messages
    513
    Détails du profil
    Informations professionnelles :
    Activité : Responsable d'exploitation informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2005
    Messages : 513
    Par défaut
    bon, me voilà contraint de retrouver mes comptes pour me connecter à Metalink (en tant que DBA occasionel, ce n'est pas une passion...).

    En attendant, je suis repassé sur tous mes comptes après avoir fait la modif. que tu contre-indiques (en attendant, je vais faire avec...)

    Merci bcp pour ce retour rapide !

  4. #4
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    bon, 10 fois c'est à mon sens très peu. Si les mots de passes sont raisonablement long (style 8 charactères), alors 1000 ou 100000 me semble plus raisonable que 10. 1000 ça ne réduit que très modestement la sécurité, il faut avoir vraiment beaucoup de réussite pour trouver le mot de passe en 1000 essai... et surtout pour un robot qui ne connait ni ta date de naissance ni ton matricule de voiture

    Quand à UNEXPIRE, ça n'existe pas, il y a bien UNLOCK, mais pas UNEXPIRE, il faut donc le bricoler soit-même !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    set pages 0 hea off feed off lin 2000 trims on long 1000000 longc 1000000
    select dbms_metadata.get_ddl('USER', username) from dba_users where account_status like '%EXPIRE%';
    tu reçois...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CREATE USER "USER01" IDENTIFIED BY VALUES 'S:0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA11111111111111222;4555333666111121'                                     
     TEMPORARY TABLESPACE "TEMP"                                                    
     PASSWORD EXPIRE                                                                
     ACCOUNT LOCK
    que tu changes en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ALTER USER "USER01" IDENTIFIED BY VALUES 'S:0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA11111111111111222;4555333666111121'                                     
     ACCOUNT UNLOCK;

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 6
    Par défaut
    Citation Envoyé par laurentschneider Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ALTER USER "USER01" IDENTIFIED BY VALUES 'S:0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA11111111111111222;4555333666111121'                                     
     ACCOUNT UNLOCK;
    Bonjour,
    Pour avoir déjà eu la même blague et ne pouvant pas me permettre de modifier les mots de passes des nombreux utilisateurs, je me suis généré un script de mise à jour des mots de passe fonctionnant sur le principe suivant :
    Réinitialiser les mots de passe directement avec la valeur actuellement expirée.
    Pour cela je récupère la valeur des mots de passe (ou plutôt le hashing) à l’aide de la requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     SELECT name,password FROM SYS.USER$ WHERE password is not null;
    (Uniquement valable en 11G et connecter avec le user sys).
    Ensuite j’utilise la mise à jour indiquée par Laurent Schneider ou name et password sont les valeurs récupérées précédemment :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ALTER USER "NAME" IDENTIFIED BY VALUES 'password'  ACCOUNT UNLOCK;
    Avec cela tu as toutes les informations pour arranger ton problème et décider si oui ou non tu supprimes l’expiration des mots de passes.
    Pour ce qui est de la console OEM, c’est tout simplement parce que le mot de passe de l’utilisateur a également expiré et qu’il est nécessaire de le réinitialiser

    Bon boulot

  6. #6
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    dbms_metadata te donne la bonne syntaxe, avec les clés 10g et 11g, avec external, global, etc

    avec sys.user$.password tu n'as que le méchanisme 10g, sans majuscules, d'une sécurité relativement faible (pas de seed)

  7. #7
    Expert confirmé
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Voici ce que j'utilise pour générer les alter user:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select 'alter user "' || username || '" identified by values ''' ||
           extract(xmltype(dbms_metadata.get_xml('USER',username)),'//USER_T/PASSWORD/text()').getStringVal() || ''';' as statement
      from dba_users
     WHERE account_status LIKE '%EXPIRE%';
    Cordialement,
    Franck

Discussions similaires

  1. mot de passe expire juste après la création
    Par batou22003 dans le forum AIX
    Réponses: 0
    Dernier message: 07/11/2011, 10h23
  2. email mot de passe expire bientot
    Par paturcotte dans le forum VBScript
    Réponses: 3
    Dernier message: 04/11/2011, 15h01
  3. mot de passe expiré
    Par big1 dans le forum Administration
    Réponses: 3
    Dernier message: 11/10/2010, 16h54
  4. [SQL worksheet]Mot de passe expiré
    Par Medmidou dans le forum Administration
    Réponses: 0
    Dernier message: 11/01/2008, 00h49
  5. Expiration d'un mot de passe
    Par Orb Dorb dans le forum Langage
    Réponses: 6
    Dernier message: 06/02/2007, 20h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo