J'utilise Oracle pour le développement. Le mot de passe d'un compte d'amorçage que j'utilise toujours pour reconstruire ma base de données a expiré. Comment désactiver l'expiration du mot de passe pour cet utilisateur (et tous les autres utilisateurs) de façon permanente? J'utilise Oracle 11g, dont les mots de passe expirent par défaut.Comment désactiver l'expiration du mot de passe Oracle?
Répondre
Pour Modifions le mot de passe politique d'expiration d'un certain profil d'utilisateur dans Oracle d'abord vérifier le profil Wich l'utilisateur est à l'utilisation:
select profile from DBA_USERS where username = '<username>';
Ensuite, vous pouvez modifier la limite à ne jamais expirer en utilisant:
alter profile <profile_name> limit password_life_time UNLIMITED;
Si vous voulez vérifier préalablement la limite que vous pouvez utiliser:
select resource_name,limit from dba_profiles where profile='<profile_name>';
Cela a modifié le profil. Cependant, j'ai des utilisateurs dont les mots de passe sont expirés parce que le profil par défaut l'avait comme tel quand ils ont été créés. Comment puis-je modifier ces comptes d'utilisateur afin que le mot de passe n'expire pas? –
'sélectionner le nom d'utilisateur, expiry_date, account_status de dba_users;' pour afficher le compte_status. Pour les comptes expirant, vous devrez peut-être réinitialiser le mot de passe une fois pour la dernière fois. –
alter utilisateur aaa compte déverrouiller; –
Je crois que le comportement d'expiration du mot de passe, par défaut, est de ne jamais expirer. Toutefois, vous pouvez configurer un profil pour votre jeu d'utilisateurs de développement et définir le PASSWORD_LIFE_TIME
. Voir le orafaq pour plus de détails. Vous pouvez voir here pour un exemple de la perspective et de l'utilisation d'une personne.
Je pense à une nouvelle installation 11g (par opposition à une mise à niveau) avec la sécurité améliorée recommandée, les mots de passe expirera par défaut après 30 jours. –
Sur 11g c'est 180 jours: http://docs.oracle.com/cd/E38689_01/pt853pbr0/eng/pt/tadm/task_WorkingWithOracle11gSecurityFeatures-3e78fd.html –
Fo r développement Vous pouvez désactiver la stratégie de mot de passe si aucun autre profil n'a été défini (par ex. désactiver l'expiration du mot de passe par défaut un):
ALTER PROFILE "DEFAULT" LIMIT PASSWORD_VERIFY_FUNCTION NULL;
Ensuite, réinitialisez le mot de passe et déverrouillez le compte d'utilisateur. Il ne doit jamais expirer à nouveau:
alter user user_name identified by new_password account unlock;
Merci, ça marche tout simplement bien! – grep
Comme l'autre état de réponses, en changeant le profil de l'utilisateur (par exemple, le profil « DEFAULT ») de façon appropriée, conduire à des mots de passe, qu'une fois défini, ne sera jamais fin. Toutefois, comme le fait remarquer un intervenant, les mots de passe définis sous les anciennes valeurs du profil peuvent déjà avoir expiré et (si le délai de grâce spécifié du profil a été atteint), le compte est verrouillé.
La solution pour les mots de passe expirés avec les comptes verrouillés (comme prévu dans un commentaire de réponse) est d'utiliser une version de la commande ALTER USER:
ALTER USER xyz_user ACCOUNT UNLOCK;
Cependant, la commande de déverrouillage ne fonctionne que pour les comptes où le compte est réellement verrouillé, mais pas pour les comptes qui sont dans la période de grâce, où le mot de passe a expiré, mais le compte n'est pas encore verrouillé. Pour ces comptes le mot de passe doit être remis à zéro avec une autre version de la commande ALTER USER:
ALTER USER xyz_user IDENTIFIED BY new_password;
Voici une petite SQL * Plus script un utilisateur privilégié (par exemple, l'utilisateur « SYS ») peut utiliser pour réinitialiser le mot de passe d'un utilisateur à la valeur hachée existante stockée dans la base de données.
REM Tell SQL*Plus to show before and after versions of variable substitutions
SET VERIFY ON
SHOW VERIFY
REM Tell SQL*Plus to use the ampersand '&' to indicate variable substitution expansion
SET DEFINE '&'
SHOW DEFINE
REM Specify in a SQL*Plus variable the account to 'reset'
DEFINE USER_NAME = 'xyz_user'
REM Show the status of the account before reset
SELECT
ACCOUNT_STATUS,
TO_CHAR(LOCK_DATE, 'YYYY-MM-DD HH24:MI:SS') AS LOCK_DATE
FROM
DBA_USERS
WHERE
USERNAME = '&USER_NAME';
REM Create a SQL*Plus variable to hold the hash of existing password
DEFINE OLD_PASSWORD = ""
REM Tell SQL*Plus where to store the value to be selected with SQL
COLUMN PWORDHASH NEW_VALUE OLD_PASSWORD
REM Select the old hash password as a delimited string
SELECT
'''' || PASSWORD || '''' AS PWORDHASH
FROM
SYS.USER$
WHERE
NAME = '&USER_NAME';
REM Show the contents of the SQL*Plus variable
DEFINE OLD_PASSWORD
REM Reset the password
ALTER USER &USER_NAME IDENTIFIED BY VALUES &OLD_PASSWORD;
REM Show the status of the account after reset
SELECT
ACCOUNT_STATUS,
TO_CHAR(LOCK_DATE, 'YYYY-MM-DD HH24:MI:SS') AS LOCK_DATE
FROM
DBA_USERS
WHERE
USERNAME = '&USER_NAME';
Très gentil, merci – dreyln
Merci pour l'aide. C'est tellement difficile de trouver une réponse pertinente. Chaque autre réponse se rapporte uniquement à PASSWORD_LIFE_TIME. – sabertiger
La colonne SYS.USER $ .PASSWORD contient uniquement le hachage de la version NON-majuscule (majuscule?) Du mot de passe. Dans Oracle 11, sauf si vous définissez le paramètre système SEC_CASE_SENSITIVE_LOGON = FALSE, le hachage du mot de passe sensible à la casse sera beaucoup plus long dans la colonne SYS.USER $ .SPARE4. – Morbo
Je proposerai son pas une bonne idée de désactiver l'expiration du mot de passe car il peut conduire à des menaces possibles à la confidentialité, l'intégrité et la disponibilité des données.
Cependant, si vous le souhaitez.
Si vous avez l'utilisation d'un accès approprié suivant SQL
SELECT nom d'utilisateur, account_status DE dba_users;
Cela devrait vous donner un résultat comme celui-ci.
USERNAME ACCOUNT_STATUS
------------------------------ -----------------
SYSTEM OPEN
SYS OPEN
SDMADM OPEN
MARKETPLACE OPEN
SCHEMAOWNER OPEN
ANONYMOUS OPEN
SCHEMAOWNER2 OPEN
SDMADM2 OPEN
SCHEMAOWNER1 OPEN
SDMADM1 OPEN
HR EXPIRED(GRACE)
USERNAME ACCOUNT_STATUS
------------------------------ -----------------
APEX_PUBLIC_USER LOCKED
APEX_040000 LOCKED
FLOWS_FILES LOCKED
XS$NULL EXPIRED & LOCKED
OUTLN EXPIRED & LOCKED
XDB EXPIRED & LOCKED
CTXSYS EXPIRED & LOCKED
MDSYS EXPIRED & LOCKED
Maintenant, vous pouvez utiliser Pedro Carriço répondre https://stackoverflow.com/a/6777079/2432468
- 1. Chiffrement du mot de passe
- 2. Comment récupérer ou modifier le mot de passe Oracle sysdba
- 3. Cryptage du mot de passe
- 4. Passwordplate-forme de vérification du mot de passe
- 5. Masquage du mot de passe de l'utilisateur en HTML Webforms
- 6. Union Platform: Sécurisation du mot de passe administrateur
- 7. Récupération du mot de passe lorsque le mot de passe est enregistré en tant que valeur de hachage
- 8. Comment changer le mot de passe root MySQL par défaut?
- 9. Formulaires de mot de passe multiples + complétion de mot de passe
- 10. Log SQL Server Modification du mot de passe
- 11. Vérification du mot de passe dans le dojo
- 12. Obtenir le mot de passe du compte ASPNET
- 13. Modification du mot de passe utilisateur via l'application .net CF
- 14. Delphi InputBox pour la saisie du mot de passe?
- 15. Démarrage du service en tant qu'utilisateur sans mot de passe
- 16. Comment échapper un mot réservé dans Oracle?
- 17. Comment changer le mot de passe de l'utilisateur?
- 18. Chiffrement de mot de passe Acegi
- 19. Tuyauterie mot de passe pour smbpasswd
- 20. Configurer SqlMembershipProvider sans mot de passe
- 21. Joomla sel amélioré mot de passe
- 22. Entrez le mot de passe plusieurs fois
- 23. Changement de mot de passe de Sharepoint
- 24. DirectoryServices.AccountManagement mot de passe « vieux » valide encore après le mot de passe changement
- 25. Mot de passe protéger les flux ATOM
- 26. Firefox autofilling nom d'utilisateur/mot de passe
- 27. Protéger le mot de passe intégré
- 28. PHP & MySQL comparer mot de passe
- 29. Adhésion ASP.NET valider le mot de passe
- 30. Comment supprimer le mot de passe d'un projet VBA?
Je pense que vous pourriez être mieux demander cela sur serverfault.com. Je ne vais pas le forcer parce que vous avez dit que vous l'utilisiez pour le développement, et je pense qu'il y a encore une chance que quelqu'un ici le sache et/ou que d'autres ici puissent bénéficier de cette information. –
Je pense que je ferai juste cela. Je discutais sur le site pour lequel il était le plus approprié, puisqu'il s'agit d'une question de base de données de base et non d'un problème de DBA. –
Je ne sais pas ce que la politique dupe est pour les questions inter-site, mais voici le lien: http://serverfault.com/questions/37622/how-do-i-turn-off-oracle-password-expiration –