English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

طريقة تعيين كلمة المرور لمستمع Oracle (LISTENER)

هل يوجد أمان للمستمع؟ نعم! بالافتراض، يمكن لأي مستخدم الوصول إلى أدوات lsnrctl والعمل على Oracle Listener أو إغلاقه دون استخدام أي كلمة مرور، مما يؤدي إلى عدم تمكن أي جلسة جديدة من إنشاء اتصال. يسمح مستمع Oracle في إصدار 9i لأي شخص باستخدام lsnrctl لبدء إدارة المستمع من بُعد. وهو ما يمكن أن يؤدي أيضًا إلى تلف قاعدة البيانات.

1. إيقاف المستمع دون إعداد كلمة المرور

[oracle@test ~]$ lsnrctl stop listener_demo92  --> إيقاف المستمع، يمكن ملاحظة أنه لا يحتاج إلى أي كلمة مرور لإيقاف العمل 
LSNRCTL for Linux: إصدار 9.2.0.8.0 - إنتاج في 26-يونيو-2011 08:22:26          
الحقوق محفوظة (c) 1991، 2006، Oracle Corporation. جميع الحقوق محفوظة.             
الإتصال بـ (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))         
تم إكمال الأمر بنجاح 

2. إعادة بدء المستمع وإعداد كلمة المرور

[oracle@test ~]$ lsnrctl                                                 
LSNRCTL for Linux: إصدار 9.2.0.8.0 - إنتاج في 26-يونيو-2011 08:24:09                         
الحقوق محفوظة (c) 1991، 2006، Oracle Corporation. جميع الحقوق محفوظة.                            
مرحبًا بك في LSNRCTL، اكتب "help" للحصول على معلومات.	                                    
LSNRCTL> set current_listener listener_demo92 --> إعداد المستمع الحالي                             
المستمع الحالي هو listener_demo92                                            
LSNRCTL> start       --> العملية لا تحتاج إلى أي كلمة مرور، تفاصيل بدء العملية تُسقط                         
LSNRCTL> change_password  --> استخدم change_password لتعيين كلمة المرور                                
كلمة المرور القديمة:                                                       
كلمة المرور الجديدة:                                                       
أدخل كلمة المرور الجديدة مجدداً:                                                   
الإتصال بـ (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))                        
تم تغيير كلمة المرور لمستمع listener_demo92                                           
تم إكمال الأمر بنجاح                                            
LSNRCTL> save_config    --> انتبه، فشل save_config هنا                                 
الإتصال بـ (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))                        
TNS-01169: لم يتم التعرف على كلمة المرور من قبل المستمع                                  
LSNRCTL> set password    --> أدخل كلمة المرور الجديدة للتأكيد                                    
كلمة المرور:                                                         
تم إكمال الأمر بنجاح                                            
LSNRCTL> save_config    --> نجح save_config مرة أخرى                                     
الإتصال بـ (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))                        
تم حفظ إعدادات تكوين listener_demo92.                                      
ملف Parameter المستمع  /oracle/92/network/admin/listener.ora                              
ملف Parameter القديم  /oracle/92/network/admin/listener.bak                                
تم إكمال الأمر بنجاح                                            
--> بعد إضافة كلمة المرور يمكن رؤية سجل جديد في ملف listener.ora، وهو خيار كلمة المرور (ملاحظة: حتى بعد استخدام طريقة إدارة كلمة المرور، يمكن تشغيل المستمع بدون كلمة المرور)
[oracle@test admin]$ more listener.ora                                          
	#----إضافة بواسطة TNSLSNR 26-حزيران-2011 05:12:48---                                      
	PASSWORDS_listener_demo92 =                                               
	#--------------------------------------------

3. محاولة إيقاف الاستماع بدون استخدام كلمة المرور

[oracle@test ~]$ lsnrctl stop listener_demo92                        
LSNRCTL للـ Linux: إصدار 9.2.0.8.0 - الإنتاج في 26-حزيران-2011 06:09:51          
الحقوق محفوظة (c) 1991، 2006، Oracle Corporation. جميع الحقوق محفوظة.             
الإتصال بـ (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))         
TNS-01169: لم يتعرف المستمع على كلمة المرور --> تلقي رسالة خطأ، يجب استخدام تأكيد كلمة المرور

4. استخدام كلمة المرور لوقف الاستماع

[oracle@test ~]$ lsnrctl                            
LSNRCTL> تعيين المستمع الحالي listener_demo92                 
المستمع الحالي هو listener_demo92                      
LSNRCTL> stop                                 
الإتصال بـ (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))   
TNS-01169: لم يتم التعرف على كلمة المرور من قبل المستمع            
LSNRCTL> set password                             
كلمة المرور:                                   
تم إكمال الأمر بنجاح                       
LSNRCTL> stop                                 
الإتصال بـ (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))   
تم إكمال الأمر بنجاح                       
LSNRCTL> status                                
الإتصال بـ (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))   
TNS-12541: TNS:لا يوجد مستمع                           
 TNS-12560: TNS:خطأ في محول البروتوكول                     
 TNS-00511: لا يوجد مستمع                            
  خطأ Linux: 111: رفض الاتصال                    
الإتصال بـ (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))       
TNS-12541: TNS:لا يوجد مستمع                           
 TNS-12560: TNS:خطأ في محول البروتوكول                     
 TNS-00511: لا يوجد مستمع                            
  خطأ Linux: 2: لا يوجد ملف أو مجلد	                 

5. مشكلة فشل save_config

--> في Oracle 9i، سيتم رفض أمر save_config                                     
	LSNRCTL> save_config                                                 
	الإتصال بـ (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=<hostname>)(PORT=<port>)))                  
	TNS-01169: لم يتم التعرف على كلمة المرور من قبل المستمع	                               
--> يجب استخدام set password قبل save_config، وسيتم حفظ الإعدادات بنجاح.                              
	LSNRCTL> set password                                                
	كلمة المرور: <الكلمة المراد اختيارها>                                          
	تم إكمال الأمر بنجاح                          
/* لا يوجد مشكلة مشابهة في Oracle 10g، لأنه يمكن استخدام طريقة التحقق القائمة على نظام التشغيل في 10g. سيقوم المستمع بالتحقق من أن المستخدم يتبع مجموعة dba،
سيتم منح صلاحيات تغيير كلمة المرور، حفظ الإعدادات، وتشغيل الاستماع وما إلى ذلك. */                                 

6. تكوين معامل ADMIN_RESTRICTIONS في ملف listener.ora

دور المعامل:
عند تعيين معامل ADMIN_RESTRICTIONS في ملف listener.ora، لا يُسمح بتنفيذ أي أمر إدارة أثناء تشغيل المستمع، كما أن أمر set لن يكون متاحًا
، لا يهم إذا كنت تقوم بذلك على مستوى الخادم المحلي أو من مسافة بعيدة، لا ينجح. في هذه الحالة، يتم تعديل إعدادات الاستماع فقط من خلال تعديل ملف listener.ora يدويًا، لجعل التعديل يُطبق، يجب
استخدم أمر lsnrctl reload أو lsnrctl stop/start لإعادة تحميل معلومات إعدادات المستمع مرة أخرى.
طريقة التعديل:
في ملف listener.ora، أضف يدويًا سطرًا مثل هذا
ADMIN_RESTRICTIONS_<اسم المستمع> = ON

إليكم إضافات الآخرين:

LSNRCTL> change_password
كلمة المرور القديمة:
كلمة المرور الجديدة:
أدخل كلمة المرور الجديدة مجدداً:
التحقق من الاتصال إلى (وصف=(عنوان=(بروتوكول=TCP)(خادم=ecp-uc-db1)(منفذ=1521)))
تم تغيير كلمة المرور للمستمع
تم إكمال الأمر بنجاح
LSNRCTL> set password
كلمة المرور:
تم إكمال الأمر بنجاح
LSNRCTL> save_config
التحقق من الاتصال إلى (وصف=(عنوان=(بروتوكول=TCP)(خادم=ecp-uc-db1)(منفذ=1521)))
تم حفظ معلمات تكوين المستمع
ملف معلمات المستمع ( /opt/oracle/product/10.2.0/db_1/network/admin/listener.ora )
ملف المعلمات القديم /opt/oracle/product/10.2.0/db_1/network/admin/listener.bak
تم إكمال الأمر بنجاح
[oracle@ecp-uc-db1 admin]$ cat listener.ora
#—- ADDED BY TNSLSNR 10-JUN-2011 18:13:24—
PASSWORDS_LISTENER = 6D7AA003392C436A
#——————————————–
ملاحظة: يجب إضافة (إعادة تشغيل المستمع) على قاعدة البيانات 10g
LOCAL_OS_AUTHENTICATION_LISTENER = OFF

1- إضافة LOCAL_OS_AUTHENTICATION_LISTENER = OFF قبل ذلك

الأمان ON: كلمة المرور أو التحقق من النظام المحلي

2- إضافة LOCAL_OS_AUTHENTICATION_LISTENER = OFF بعد ذلك

الأمان مفعّل: كلمة المرور
LSNRCTL> status
التحقق من الاتصال إلى (وصف=(عنوان=(بروتوكول=TCP)(خادم=ecp-uc-db1)(منفذ=1521)))
TNS-01169: لم يتم التعرف على كلمة المرور من قبل المستمع
LSNRCTL> stop
التحقق من الاتصال إلى (وصف=(عنوان=(بروتوكول=TCP)(خادم=ecp-uc-db1)(منفذ=1521)))
TNS-01169: لم يتم التعرف على كلمة المرور من قبل المستمع
LSNRCTL> set password 123456
تم إكمال الأمر بنجاح
LSNRCTL> status
التحقق من الاتصال إلى (وصف=(عنوان=(بروتوكول=TCP)(خادم=ecp-uc-db1)(منفذ=1521)))
حالة المستمع LISTENER
————————
الاسم المميز LISTENER
إصدار TNSLSNR للـ Linux: إصدار 10.2.0.4.0 – الإنتاج
تاريخ البدء 10-JUN-2011 18:15:49
وقت التشغيل 0 يوم 0 ساعة. 1 دقيقة. 16 ثانية
مستوى التتبع معطل
الأمان مفعّل: كلمة المرور
SNMP معطل
ملف معلمات المستمع ( /opt/oracle/product/10.2.0/db_1/network/admin/listener.ora )
ملف سجلات المستمع ( /opt/oracle/product/10.2.0/db_1/network/log/listener.log )
ملخص نقاط الاستماع...
(وصف=(عنوان=(بروتوكول=tcp)(المضيف=ECP-UC-DB1)(المنفذ=1521)))
(وصف=(عنوان=(بروتوكول=ipc)(المفتاح=EXTPROC0)))
ملخص الخدمات...
خدمة “PLSExtProc” تحتوي على 1 مثالًا.
مثال “PLSExtProc”,الحالة غير معروفة،لديه 1 معالجًا لهذا الخدمة...
خدمة “ecp” تحتوي على 1 مثالًا.
مثال “ecp”,الحالة مستعدة،لديه 1 معالجًا لهذا الخدمة...
خدمة “ecpXDB” تحتوي على 1 مثالًا.
مثال “ecp”,الحالة مستعدة،لديه 1 معالجًا لهذا الخدمة...
خدمة “ecp_XPT” تحتوي على 1 مثالًا.
مثال “ecp”,الحالة مستعدة،لديه 1 معالجًا لهذا الخدمة...
تم إكمال الأمر بنجاح

أنت قد تستمتع بذلك