رواد على الدرب
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.
المواضيع الأخيرة
» برنامج الأمين للمحاسبة والمستودعات
شرح موضوع Oracle Database Security, شرح مبسط وموجز وسهل Emptyالخميس أكتوبر 01, 2015 4:17 pm من طرف info1961

» برنامج حسابات المقاولات والسمسار العقاري
شرح موضوع Oracle Database Security, شرح مبسط وموجز وسهل Emptyالسبت مايو 30, 2015 2:20 pm من طرف برامج حسابات

» برنامج صيدلية PharmaCare
شرح موضوع Oracle Database Security, شرح مبسط وموجز وسهل Emptyالثلاثاء مارس 10, 2015 9:50 am من طرف جيبسون

» برنامج حسابات ومخازن عربى
شرح موضوع Oracle Database Security, شرح مبسط وموجز وسهل Emptyالأحد فبراير 15, 2015 8:58 pm من طرف فيصل

» برامج حسابات اوراكل ويب ديزاين اي كلاود - مخازن - مقاولات - بيع وحدات جاهزه - سمسار
شرح موضوع Oracle Database Security, شرح مبسط وموجز وسهل Emptyالجمعة يناير 23, 2015 5:07 pm من طرف برامج حسابات

» برامج حسابات ومخازن ويب ابليكشن
شرح موضوع Oracle Database Security, شرح مبسط وموجز وسهل Emptyالجمعة يناير 23, 2015 5:06 pm من طرف برامج حسابات

» برنامج محاسبي ومخازن نسخة كاملة مجانية وعربي
شرح موضوع Oracle Database Security, شرح مبسط وموجز وسهل Emptyالسبت أكتوبر 25, 2014 8:47 pm من طرف عدنيوافتخر

» تعلم لغة C++ Oop الفرق بين لغة C و C++
شرح موضوع Oracle Database Security, شرح مبسط وموجز وسهل Emptyالإثنين يوليو 20, 2009 11:59 am من طرف ابوعبدالرحمن

» يا أخ المسلم
شرح موضوع Oracle Database Security, شرح مبسط وموجز وسهل Emptyالأربعاء يونيو 17, 2009 10:30 am من طرف hmada

بحـث
 
 

نتائج البحث
 


Rechercher بحث متقدم


شرح موضوع Oracle Database Security, شرح مبسط وموجز وسهل

اذهب الى الأسفل

شرح موضوع Oracle Database Security, شرح مبسط وموجز وسهل Empty شرح موضوع Oracle Database Security, شرح مبسط وموجز وسهل

مُساهمة من طرف شعاع القمر السبت سبتمبر 20, 2008 3:51 pm

سلام عليكم ورحمة الله وبركاته
تحية طيبة للجميع ...............

أقدم لكم اليوم شرح مبسط وسهل لموضوع Oracle Database Security اتمنى من الجميع الأستفادة منه .

الجزء الأول : Users

* عمل مستخدم جديد :-
لعمل مستخدم جديد في قاعدة البيانات يجب ان يكون متطابق مع الشكل الأتي
SQL كود
CREATE USER user_name IDENTIFIED BY password
[DEFAULT TABLESPACE def_tabspace]
[TEMPORARY TABLESPACE temp_tabspace];

حيث أن :
user_name : اسم المستخدم في قاعدة البيانات
password : كلمة المرور للمستخدم في قاعدة البيانات
def_tabspace : تحديد tablespace الأفتراضي لهذا المستخدم وأذا لم يتم تحديده يكون tablespace الأفتراضي هو SYSTEM
temp_tabspace : تحديد tablespaceالأفتراضي لإجراء عمليات الترتيب وأذا لم يتم تحديده يكون tablespace الأفتراضي هو SYSTEM

اليك المثال الأتي ليتضح الأمر أكثر
SQL كود
CONNECT system/manager
CREATE USER scott IDENTIFIED BY tiger;

يقوم هذا المثال بعمل مستخدم اسمه scott وكلمة المرور tiger و tablespace الافتراضي هو SYSTEM و temporary tablesapce هو SYSTEM

واليك المثال التالي أيضاً
SQL كود
CREATE USER omar IDENTIFIED BY riyati
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp;

يقوم المثال بعمل مستخدم اسمه omar وكلمة المرور هي riyati وtablespace الأفتراضي هو USERS و temporary tablespace هو TEMP

والآن اذا اردت ان يقوم هذا المستخدم الاتصال بقاعدة البيانات يجب ان يكون لديه هذه الصلاحية (create session) والتي يقوم المالك لهذا المستخدم ، واليك ما يلي :-
SQL كود
GRANT CREATE SESSION TO tiger;

---------------------------------------------------------------------------------------------------

* تغيير كلمة المرور للمستخدم:-
لتغيير كلمة المرور للمستخدم لزيادة الsecurity هنا طريقتين لذالك :-
1- الطريقة الأولى
SQL كود
ALTER USER scott IDENTIFIED BY lion;

2- الطريقة الثانية
SQL كود
CONNECT tiger/scott
PASSWORD
Changing password for scott
Old password: ******
New password: ******
Retype new password: ******
Password changed

-----------------------------------------------------------------------------------------------------

* حذف المستخدم :-
لحذف المستخدم يجب أن يكون لديك الصلاحية (drop user) واليك المثال الأتي :-
SQL كود
CONNECT system/manager
DROP USER tiger;

ولحذف المستخدم مع الكئانات التي يحويها مثل الجداول يجب أضافة كلمة cascade .



----------------------------------------------------------------

-------------------------------------



System Privileges
System Privilege : هو السماح للمستخدم بإنجاز حدث معين على قاعدة البيانات .
SQL كود
CREATE SESSION
صلاحية الإتصال بقاعدة البيانات

CREATE SEQUENCE
صلاحية بناء متسلسل

CREATE SYNONYM
صلاحية بناء مرادف

CREATE TABLE
صلاحية بناء جدول

CREATE ANY TABLE
صلاحية بناء جدول في أي سيكما

DROP TABLE
صلاحية حذف جدول

DROP ANY TABLE
صلاحية حذف جدول في أي سيكما

CREATE PROCEDURE
صلاحية بناء بروسيجر

EXECUTE ANY PROCEDURE
صلاحية تنفيذ بروسيجر في أي سيكما

CREATE USER
صلاحية بناء مستخدم

DROP USER
صلاحية حذف مستخدم

CREATE VIEW
صلاحية بناء منظر

هنا تم عرض مجموعة من System Privilege ووظيفتها ولمعرفة جميع System Privilege قم بعمل هذا الاستعلام
SQL كود
select name from system_privilege_map


الآن دعنا نبدأ بالعملي
* منح صلاحيات system privilege لمستخدم معين:-
SQL كود
GRANT CREATE SESSION, CREATE USER, CREATE TABLE TO scott;

يقوم هذا المثال بإعطاء المستخدم scott صلاحيات (CREATE SESSION و CREATE USER و CREATE TABLE )
ومن الممكن إضافة جملة WITH ADMIN OPTION ليتمكن هذا المستخدم من إعطاء هذه الصلاحيات لمستخدمين آخريين (يمكن منح مجموعة من الصلاحيات في نفس الأمر بوضع علامة فاصلة , )
SQL كود
GRANT EXECUTE ANY PROCEDURE TO hr WITH ADMIN OPTION

هنا تم منح المستخدم hr صلاحية (EXECUTE ANY PROCEDURE ) مع إضافة خاصية القدرة على منح هذه الصلاحية لأي مستخدم آخر، لذا فيمكن للمستخدم hr منح صلاحية (EXECUTE ANY PROCEDURE ) للمستخدم scott وكما يلي :-
SQL كود
CONNECT hr/hr
GRANT EXECUTE ANY PROCEDURE TO scott;

ولأعطاء جميع المستخدمين صلاحية معينة قم فإضافة الكلمة PUBLIC وكما يلي
SQL كود
CONNECT system/manager
GRANT EXECUTE ANY PROCEDURE TO PUBLIC;


* التأكد من System Privileges لمن تم منحها
ربما يريد البعض معرفة هذه الصلاحية لمن تم منحها أو إعطاءها ويتم ذلك بإستخدام user_sys_privs والذي يتكون من ثلاث أعمده هي :
username : إسم المستخدم
privilege : إسم الصلاحية
admin_option : هل لديه خاصية admin option أم لا
SQL كود
CONNECT scott/tiger
SELECT *
FROM user_sys_privs; USERNAME PRIVILEGE ADM
---------------------- -------------------------------- ---
PUBLIC EXECUTE ANY PROCEDURE NO
TIGER CREATE SESSION NO
TIGER CREATE TABLE NO
TIGER CREATE USER NO
TIGER EXECUTE ANY PROCEDURE YES

نلاحظ هنا أن هذا الإستعلام قد أعطنا صلاحيات المستخدم SCOTT

دعنا هذا المثال ليتضح الأمر أكثر :
SQL كود
CONNECT SCOTT/TIGER
CREATE USER omar IDENTIFIED BY riyati;
User created.
************************************************
SQL> DROP USER omar;
DROP USER omar
*
ERROR at line 1:
ORA-01031: insufficient privileges

هذا المثال يتكون من مرحلتين:
المرحلة الأولى : قام المستخدم scott ببناء المستخدم omar وتمت العملية دون مشاكل لأن لديه صلاحية (CREATE USER)
المرحلة الثانية : قام المستخدم scott بحذف المستخدم omar ولم تنجح العملية لأنه ليس لديه صلاحية (DROP USER ) وظهر الرسالة ORA-01031: insufficient privileges

* حذف الصلاحية من المستخدم:
الآن لو أراد احدكم حذف صلاحية معينة من مستخدم معين كيف يتم ذلك
SQL كود
CONNECT system/manager
REVOKE CREATE TABLE FROM scott;

هنا إستخدمنا الأمر REVOKE لحذف صلاحية CREATE TABLE من المستخدم scott
والآن عند الرجوع الى صلاحيات المستخدم scott يجب أن نجد صلاحية CREATE TABLE قد ألغيت وكما في الشكل الأتي
SQL كود
CONNECT steve/button

SELECT * FROM user_sys_privs USERNAME PRIVILEGE ADM
---------------------- -------------------------------- ---
PUBLIC EXECUTE ANY PROCEDURE NO
STEVE CREATE SESSION NO
STEVE CREATE TABLE NO
STEVE EXECUTE ANY PROCEDURE YES

أتمنى تكونوا استفدتم

شعاع القمر
مشرف

عدد الرسائل : 121
العمر : 32
تاريخ التسجيل : 12/09/2008

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

- مواضيع مماثلة

 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى