English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Le listener a-t-il aussi de la sécurité ? Oui ! Par défaut, tout utilisateur n'a pas besoin d'utiliser de mot de passe pour utiliser l'outil lsnrctl pour opérer ou fermer l'Oracle Listener, ce qui rend impossible la création de nouvelles sessions. 9i Le listener Oracle permet à n'importe qui d'utiliser l'outil lsnrctl pour gérer à distance le listener. Cela peut également facilement endommager la base de données.
1. Arrêt de l'écouteur sans mot de passe défini
[oracle@test ~]$ lsnrctl stop listener_demo92 --> arrêtez l'écouteur, vous pouvez voir qu'il n'est pas nécessaire de mot de passe pour arrêter LSNRCTL pour Linux : Version 9.2.0.8.0 - Production sur 26-JUN-2011 08:22:26 Copyright (c) 1991, 2006, Oracle Corporation. Tous droits réservés. Se connectant à (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)) La commande a été exécutée avec succès
2. Redémarrez l'écouteur et définissez le mot de passe
[oracle@test ~]$ lsnrctl LSNRCTL pour Linux : Version 9.2.0.8.0 - Production sur 26-JUN-2011 08:24:09 Copyright (c) 1991, 2006, Oracle Corporation. Tous droits réservés. Bienvenue dans LSNRCTL, tapez "help" pour obtenir de l'information. LSNRCTL> set current_listener listener_demo92 --> configurer l'écouteur actuel Le listener actuel est listener_demo92 LSNRCTL> start --> le processus de démarrage n'a pas besoin de mot de passe non plus, les détails de démarrage sont omis LSNRCTL> change_password --> utiliser change_password pour définir le mot de passe Old password: New password: Reenter new password: Se connectant à (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)) Le mot de passe a été modifié pour listener_demo92 La commande a été exécutée avec succès LSNRCTL> save_config --> attention, l'échec de save_config ici Se connectant à (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)) TNS-01169: The listener has not recognized the password LSNRCTL> set password --> entrer le mot de passe récemment défini pour la validation Password: La commande a été exécutée avec succès LSNRCTL> save_config --> sauve_config réussi à nouveau Se connectant à (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)) listener_demo sauvegardé92 paramètres de configuration. Fichier de paramètres de l'écouteur /oracle/92/réseau/admin/listener.ora Old Parameter File /oracle/92/réseau/admin/listener.bak La commande a été exécutée avec succès --> Après avoir ajouté le mot de passe, vous pouvez voir qu'il y a un enregistrement supplémentaire dans le fichier listener.ora, c'est-à-dire l'option de mot de passe (note : même s'il est utilisé un mode de gestion de mot de passe, le serveur d'écoute peut toujours être démarré sans mot de passe) [oracle@test admin]$ more listener.ora #----ADDED BY TNSLSNR 26-JUN-2011 05:12:48--- PASSWORDS_listener_demo92 = #--------------------------------------------
3. Essayer d'arrêter l'écoute sans utiliser de mot de passe
[oracle@test ~]$ lsnrctl stop listener_demo92 LSNRCTL pour Linux : Version 9.2.0.8.0 - Production sur 26-JUN-2011 06:09:51 Copyright (c) 1991, 2006, Oracle Corporation. Tous droits réservés. Se connectant à (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)) TNS-01169: The listener has not recognized the password --> Message d'erreur reçu, l'authentification par mot de passe est nécessaire
4. Arrêter l'écoute avec un mot de passe
[oracle@test ~]$ lsnrctl LSNRCTL> set current_listener listener_demo92 Le listener actuel est listener_demo92 LSNRCTL> stop Se connectant à (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)) TNS-01169: The listener has not recognized the password LSNRCTL> set password Password: La commande a été exécutée avec succès LSNRCTL> stop Se connectant à (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)) La commande a été exécutée avec succès LSNRCTL> status Se connectant à (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)) TNS-12541: Aucun listener TNS TNS-12560: Erreur d'adaptateur de protocole TNS TNS-00511: Aucun listener Erreur Linux : 111: Refus de connexion Se connectant à (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC))) TNS-12541: Aucun listener TNS TNS-12560: Erreur d'adaptateur de protocole TNS TNS-00511: Aucun listener Erreur Linux : 2: Fichier ou répertoire introuvable
5. Problème de sauvegarde de la configuration
--> Dans Oracle 9i, l'utilisation de la commande save_config échouera LSNRCTL> save_config Se connectant à (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=<hostname>)(PORT=<port>))) TNS-01169: The listener has not recognized the password --> Il devrait d'abord utiliser set password avant de sauvegarder la configuration, puis la sauvegarde de la configuration réussira. LSNRCTL> set password Mot de passe: <le mot de passe que vous avez choisi> La commande a été exécutée avec succès /*dans Oracle 10g, il n'y aura pas de problème similaire, car dans10g, vous pouvez utiliser la méthode de vérification basée sur le système d'exploitation. Le listener détectera si l'utilisateur fait partie du groupe dba, sera attribué les permissions de changer le mot de passe, sauvegarder la configuration et arrêter l'écoute, etc. */
6. Configurer le paramètre ADMIN_RESTRICTIONS dans listener.ora
Parameter function:
After setting the ADMIN_RESTRICTIONS parameter in the listener.ora file, during the listener's operation, it is not allowed to execute any management commands, and the set command will be unavailable
It does not work whether it is executed locally on the server or remotely. At this time, the listener settings can only be manually modified in the listener.ora file, and to make the modification take effect, you must
Use the lsnrctl reload command or lsnrctl stop/reload the listener configuration information by the start command once again.
Modification method:
Manually add the following line to the listener.ora file
ADMIN_RESTRICTIONS_<listener_name> = ON
Below is the supplement from other netizens:
LSNRCTL> change_password
Old password:
New password:
Reenter new password:
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ecp-uc-bd1)(PORT=1521))
Password changed for LISTENER
La commande a été exécutée avec succès
LSNRCTL> set password
Password:
La commande a été exécutée avec succès
LSNRCTL> save_config
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ecp-uc-bd1)(PORT=1521))
Saved LISTENER configuration parameters.
Fichier de paramètres de l'écouteur /opt/oracle/produit/10.2.0/db_1/réseau/admin/listener.ora
Old Parameter File /opt/oracle/produit/10.2.0/db_1/réseau/admin/listener.bak
La commande a été exécutée avec succès
[oracle@ecp-uc-bd1 admin]$ cat listener.ora
#—-ADDED BY TNSLSNR 10-JUN-2011 18:13:24—
PASSWORDS_LISTENER = 6D7AA003392C436A
#——————————————–
note:10g数据库上需要上添加(重启监听)
LOCAL_OS_AUTHENTICATION_LISTENER = OFF
1、添加LOCAL_OS_AUTHENTICATION_LISTENER = OFF之前
Security ON: Password or Local OS Authentication
2、添加LOCAL_OS_AUTHENTICATION_LISTENER = OFF之后
Sécurité ACTIVÉE : Mot de passe
LSNRCTL> status
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ecp-uc-bd1)(PORT=1521))
TNS-01169: The listener has not recognized the password
LSNRCTL> stop
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ecp-uc-bd1)(PORT=1521))
TNS-01169: The listener has not recognized the password
LSNRCTL> set password 123456
La commande a été exécutée avec succès
LSNRCTL> status
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ecp-uc-bd1)(PORT=1521))
STATUT de l'ÉCOUTEUR
————————
Alias LISTENER
Version TNSLSNR pour Linux : Version 10.2.0.4.0 – Production
Date de démarrage 10-JUN-2011 18:15:49
Uptime 0 jours 0 hr. 1 min. 16 sec
Niveau de trace DÉSACTIVÉ
Sécurité ACTIVÉE : Mot de passe
SNMP DÉSACTIVÉ
Fichier de paramètres de l'écouteur /opt/oracle/produit/10.2.0/db_1/réseau/admin/listener.ora
Fichier journal de l'écouteur /opt/oracle/produit/10.2.0/db_1/réseau/log/listener.log
Résumé des points d'écoute actifs…
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ECP-UC-BD1)(PORT=1521))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))
Résumé des services…
Le service "PLSExtProc" a 1 instance(s).
Instance "PLSExtProc", statut INCONNU, a 1 gestionnaire(s) pour ce service…
Le service "ecp" a 1 instance(s).
Instance "ecp", statut PRÊT, a 1 gestionnaire(s) pour ce service…
Le service "ecpXDB" a 1 instance(s).
Instance "ecp", statut PRÊT, a 1 gestionnaire(s) pour ce service…
Le service "ecp_XPT" a 1 instance(s).
Instance "ecp", statut PRÊT, a 1 gestionnaire(s) pour ce service…
La commande a été exécutée avec succès