Hicham Al Sayed ahmed

اهلا و سهلا بكم في منتدى تقنيات الحاسوب 2013


Join the forum, it's quick and easy

Hicham Al Sayed ahmed

اهلا و سهلا بكم في منتدى تقنيات الحاسوب 2013

Hicham Al Sayed ahmed

Would you like to react to this message? Create an account in a few clicks or log in to continue.

منتدى و عالم تقنيات الحاسوب و البرمجة وانظمة التشغيل و الصيانة 2013

تؤمن لكل من يحب ان يتعلم البرمجة و كل من يدرس في هذا الاختصاص برامج و مواضيع و افكار جديدة و كيفية العمل و الكثير و الكثير و ايضا تتيح لاي شخص ان ينضم لهذا المنتدى و خاصة طلاب تقنيات الحاسوب و انظمة التشغيل و الصيانة المادية و البرمجية
تعلم الفجوال بيسك - الدلفي - السي ++ - الباسكال و الكثير و الكثير

اطرح سؤالك على فريق العمل في الفيسبوك

تابعنا على الفيسبوك

مشاركة الموضوع عبر الفيسبوك

Log in

I forgot my password

Latest topics

» تفاصيل بسيطة ومعلومات عن الهكر
إنشاء المستخدمين و منح الصلاحيات I_icon_minitimeTue Nov 05, 2013 6:35 am by okba als

» ترحيب بالأعضاء
إنشاء المستخدمين و منح الصلاحيات I_icon_minitimeTue Nov 05, 2013 6:09 am by okba als

» برنامج يعلمك لغة الدلفي بشكل مثير
إنشاء المستخدمين و منح الصلاحيات I_icon_minitimeMon Nov 04, 2013 10:53 pm by سيد برتوكول

» دليل هاتف الدلفي
إنشاء المستخدمين و منح الصلاحيات I_icon_minitimeSun Nov 03, 2013 11:24 am by سيد برتوكول

» سلسلة فيبوناتشي
إنشاء المستخدمين و منح الصلاحيات I_icon_minitimeSun Nov 03, 2013 11:22 am by سيد برتوكول

» كود جميل ورائع جربه واعرف بنفسك ماذا يعمل
إنشاء المستخدمين و منح الصلاحيات I_icon_minitimeWed Apr 17, 2013 1:55 am by سيد برتوكول

» المبرمجون مستائون من الواجهة الرسومية لويندوز ٨ (Windows 8)(نسخة المطورين)
إنشاء المستخدمين و منح الصلاحيات I_icon_minitimeThu Jun 21, 2012 10:26 pm by pc-king.dahek.net

» حزيرة للعلماء
إنشاء المستخدمين و منح الصلاحيات I_icon_minitimeTue Apr 10, 2012 3:23 am by عفريت السويداء

» اسباب تجعل الكمبيوتر يعمل بشكل بطيء
إنشاء المستخدمين و منح الصلاحيات I_icon_minitimeSun Mar 18, 2012 6:49 am by عفريت السويداء

» دروس المبتدئين.....الدرس الأول (تعليم القص)
إنشاء المستخدمين و منح الصلاحيات I_icon_minitimeSat Mar 17, 2012 6:03 am by عفريت السويداء

Top posting users this week

No user

Who is online?

In total there are 42 users online :: 0 Registered, 0 Hidden and 42 Guests :: 1 Bot

None


Most users ever online was 149 on Wed Oct 02, 2024 1:13 am

تابعنا على الفيسبوك


3 posters

    إنشاء المستخدمين و منح الصلاحيات

    عفريت السويداء
    عفريت السويداء
    عضو مميز
    عضو مميز


    نقاط : 1157

    إنشاء المستخدمين و منح الصلاحيات Empty إنشاء المستخدمين و منح الصلاحيات

    Post by عفريت السويداء Wed Dec 21, 2011 2:04 pm

    ما رأيكم بالتالي :
    لديك حوالي 100 مستخدم جديد نريد إنشاءهم
    ، ثم منح صلاحيات إنشاء الجدوال و المشاهد للجميع ، فالسؤال كم سطراً من
    التعلميات تحتاج ؟ و في الجهة الأخرى إذا أردت سحب صلاحية معينة من هؤلاء
    المئة فكم سطراً أخر ستكتب من أجل ذلك ؟ و هل أنت متأكد من أنك لم تنسى أي
    مستخدم ؟؟

    الحل : مجموعة السماحيات Rols .
    إذاً
    Role هي مجموع السماحيات المختلفة التي نود إسنادها فيما بعد إلى مستخدم
    واحد أو أكثر أو حتى إلى مجموعة سماحيات أخرى .

    تتميز role
    بسهولة إستخدامها المرة تلو الأخرى بحيث يتم إسنادها إلى المستخدم و سحبها
    منه ، كما أن سحب الصلاحية من role تؤدي إلى سحبها من المستخدم الذي أسندنا
    له تلك role . يمكن أن تسند أكثر من role إلى مستخدم ما ، كما يمكنك اسناد
    role واحدة إلى أكثر من مستخدم .


    تعليمة إنشاء role :

    كود

    SQL>
    create role arabteam_role;

    Role created.


    بشكل عام :

    كود

    CREATE
    ROLE role [NOT IDENTIFIED | IDENTIFIED
    {BY password | EXTERNALLY |
    GLOBALLY | USING package}]


    -
    ماذا لو أردنا منح role مشروطة لمستخدم ما ؟ أي يجب عليه كتابة كلمة سر
    لتمكين هذه role ؟؟

    كود

    SQL> create role arabteam_role
    identified
    by arabteam_pass;

    Role created.


    ماذا لو أردنا مصادقة نظام التشغيل ( كما فعلنا
    مع المستخدمين ) لتمكين role ؟

    كود

    SQL> create role arabteam_role
    identified
    Externally;


    كيف نسند السماحيات إلى role ؟
    بالطريقة
    نفسها التي أسندنا فيها السماحيات للمستخدمين :

    كود

    SQL>
    grant create table to arabteam_role;
    Grant succeeded


    الآن كيف نسند role إلى
    المستخدمين ؟


    كود

    SQL> grant arabteam_role to arabteam;
    Grant
    succeeded


    حتى أننا
    نستطيع إسناد role إلى أخرى ، فتصبح الثانية تحوي صلاحيات الأولى :


    كود

    SQL>
    grant arabteam_role1 to arabteam_rol2;
    Grant succeeded


    بشكل عام :

    كود

    GRANT
    role [, role ]...
    TO {user|role|PUBLIC}
    [, {user|role|PUBLIC}
    ]...
    [WITH ADMIN OPTION]


    تمكين و إلغاء تمكين Roles :
    يستطيع
    المستخدم arabteam أن يفعل أو يلغي عمل role معينة قام مدير القاعدة أو أي
    مستخدم آخر بإسنادها إليه . قد يسأل البعض: أي مجنون يلغي صلاحيات ممنوحة
    إليه ؟؟؟
    الجواب سيدركه مطوري التطبيقات أكثر من غيرهم : في التطبيقات
    قد يتشارك الموظفون اسم مستخدم واحد لإستعمال التطبيق ، و لكن نريد فرض
    مستويات من الحماية على مستوى السمتخدم الواحد ، أي قد نسمح لموظف (س)
    بسماحيات أكثر من الموظف (ع) رغم أن الإثنين يقومان بتسجيل الدخول
    بالمستخدم arabteam .
    أرجو أن الفكرة قد وصلت .
    كيف نستطيع التفعيل
    :
    بإستخدام التعليمة set :

    كود

    Set role arabteam_role;


    ماذا لو أراد المستخدم أن يفعل role مشروطة
    بكلمة سر ؟؟

    كود

    set role arabteam_role identified by
    arabteam_pass;


    ماذا لو
    أراد المستخدم تفعيل جميع roles التي يملكها ماعدا role معينة ؟

    كود

    set
    role all except arabteam_role;


    لمطوري التطبيقات :
    هناك
    dbms_session.set_role لتمكين role معينة ، و لكن إنتبه فلا يمكنك استعمال
    في PL/SQL Stored Procedure بل نستطيع إستعمالها فقط عن طريق Anonymous
    block أو عن طريق TRIGGER على مستوى الفورم .

    أي
    :

    كود

    SQL> begin
    2
    dbms_session.set_role('arabteam_role');
    3 end;
    4 /

    PL/SQL
    procedure successfully completed.


    إنظر
    إلى التالي:

    كود

    SQL> create or replace procedure set_proc
    2
    is
    3 begin
    4 dbms_session.set_role('role1');
    5 end;
    6 /

    Procedure
    created.

    SQL> execute set_proc;
    BEGIN set_proc; END;

    *
    ERROR
    at line 1:
    ORA-06565: cannot execute SET ROLE from within stored
    procedure
    ORA-06512: at "SYS.DBMS_SESSION", line 124
    ORA-06512: at
    "SYSTEM.SET_PROC", line 4
    ORA-06512: at line 1


    أرجو أن الفكرة قد وصلت .
    ماذا لو أردنا
    إنشاء role لا يمكن تفعيلها إلا عن طريق تنفيذ package معينة ؟؟؟؟
    ننشىء
    role خاصة نسميها Application Role بالطريقة التالية :


    كود

    create
    role arabteam_approle
    identified using arabteam.SetRole_package;


    ملاحظة هامة جداً : كل عمليات set التي تجريها
    سوف يتم التراجع عنها عند تسجيل الخروج بحيث تعود مجموعة السماحيات
    الإفتراضية التي يتم إسنادها بالشكل :

    كود

    SQL>
    alter user arabteam
    2 default role arabteam_role;

    User
    altered.


    - يتم سحب
    الصلاحية من role بنفس الطريقة التي إستعملناها مع user :

    كود

    revoke
    create table from arabteam_role;


    -
    حذف الصلاحية يتم بالتعليمة التالية :

    كود

    drop
    role arabteam_role;


    أخيراً
    : توجد مجموع من Roles التي يتم إنشاءها إفتراضياً مع تنصيب أوراكل :
    1-
    CONNECt : للتوافقية مع الإصدارات المختلفة من الأوراكل سيرفر و تضم
    صلاحية واحدة فقط هي create session >
    2- Resource : و هي role قوية
    تضمن صلاحيات تتيح للمستخدم إنشاء جداوله بأي مساحة على أي table space
    بالإضافة إلى مميزات أخرى . في رأيي إن هذه role تمنح للمستخدمين المميزين
    في القاعدة . تحوي هذه role على :

    كود

    CREATE
    SESSION
    UNLIMITED TABLESPACE


    بالإضافة
    إلى سماحيات إنشاء الجدوال و المشاهد و إجرائيات PL/SQL ....
    3- dba :
    و هي role الشهيرة جداً و هي تحوي جميع السماحيات التي تجعل من المستخدم
    "معلم الداتا بيس " أو المستخدم الذي لا يخضع إلا للمستخدم sys . هذه role
    خطيرة جداً فهي تجعل المستخدم قادراً على كل شيء في القاعدة حتى عملية
    التخريب المقصودة أو غير المقصودة و في العادة لا تمنح هذه role إلا لشخص و
    احد فقط و هي مدير القاعدة الرئيسي أما البقية فيتم منحهم أجزاء من هذه
    role . تحوي هذه role على السماحيات التالية :


    كود

    ADVISOR
    ,AUDIT ANY ,DROP USER ,RESUMABLE ,ALTER USER , CREATE JOB , ANALYZE ANY ,
    BECOME USER , CREATE ROLE , CREATE RULE , CREATE TYPE , CREATE USER ,
    CREATE VIEW , ALTER SYSTEM , AUDIT SYSTEM , CREATE TABLE , DROP PROFILE
    ,ALTER PROFILE , ALTER SESSION , DROP ANY ROLE,
    DROP ANY RULE,DROP
    ANY TYPE,DROP ANY VIEW ,QUERY REWRITE ,ALTER ANY ROLE , ALTER ANY RULE ,
    ALTER ANY TYPE , ALTER DATABASE , CREATE ANY JOB , CREATE CLUSTER ,
    CREATE LIBRARY , CREATE PROFILE , CREATE SESSION , CREATE SYNONYM ,
    CREATE TRIGGER , DROP ANY INDEX , DROP ANY TABLE , GRANT ANY ROLE , LOCK
    ANY TABLE ,UNDER ANY TYPE ,UNDER ANY VIEW ,ALTER ANY INDEX , ALTER ANY
    TABLE , CREATE ANY RULE , CREATE ANY TYPE ,CREATE ANY VIEW ,CREATE
    OPERATOR ,CREATE RULE SET ,CREATE SEQUENCE ,DROP TABLESPACE , UNDER ANY
    TABLE ,ALTER TABLESPACE ,BACKUP ANY TABLE ,CREATE ANY INDEX , CREATE ANY
    TABLE , CREATE DIMENSION
    CREATE INDEXTYPE ,CREATE PROCEDURE ,DELETE
    ANY TABLE ,DROP ANY CLUSTER ,DROP ANY CONTEXT ,DROP ANY LIBRARY ,DROP
    ANY OUTLINE ,DROP ANY SYNONYM ,DROP ANY TRIGGER ,EXECUTE ANY RULE
    ,EXECUTE ANY TYPE ,INSERT ANY TABLE ,MANAGE ANY QUEUE ,MANAGE SCHEDULER
    ,SELECT ANY TABLE ,UPDATE ANY TABLE ,ALTER ANY CLUSTER ,ALTER ANY
    LIBRARY ,ALTER ANY OUTLINE ,ALTER ANY TRIGGER ,COMMENT ANY TABLE ,CREATE
    TABLESPACE
    DEQUEUE ANY QUEUE ,DROP ANY OPERATOR ,DROP ANY RULE SET
    ,DROP ANY SEQUENCE ,ENQUEUE ANY QUEUE ,EXECUTE ANY CLASS ,FORCE
    TRANSACTION ,MANAGE TABLESPACE ,ON COMMIT REFRESH ,ALTER ANY RULE SET
    ,ALTER ANY SEQUENCE,CREATE ANY CLUSTER ,CREATE ANY CONTEXT ,CREATE ANY
    LIBRARY , CREATE ANY OUTLINE ,CREATE ANY SYNONYM ,CREATE ANY TRIGGER
    ,DROP ANY DIMENSION ,DROP ANY DIRECTORY ,DROP ANY INDEXTYPE ,DROP ANY
    PROCEDURE
    RESTRICTED SESSION


    توجد
    العديد من roles الأخرى التي سيكون الحديث حولها طويلة ...
    إذا أردت
    أن تعلم ما هي roles الموجودة و السماحيات على مستوى النظام التي تحويها :
    كود

    select
    role , privilege from role_sys_privs;


    إذا أردت أن تعلم ما هي roles الموجودة و
    السماحيات على مستوى الغرض التي تحويها :

    كود

    select
    role , privilege from role_obj_privs;



    ماذا لو أراد مستخدمنا arabteam أن يعرف
    ماهي الصلاحيات التي يملكها ؟
    على مستوى النظام :

    كود

    select
    * from user_sys_privs;


    على
    مستوى الأغراض :


    كود

    select * from user_obj_privs;


    و هكذا انتهى القسم الخاص بــroles .
    في
    القسم القادم إن شاء الله سنتحدث عن إدارة الموارد
    Resource Manage
    و كيفية
    توزيعها بالشكل الأمثل .. أرجو إذا وجدت أي ملاحظات حول طريقة شرحي أو عرض
    الأفكار أو أي تعقيب على أي فقرة فلا تبخلوا علي بها .... و السلام
    pc-king.dahek.net
    pc-king.dahek.net
    V . I . P
    V   .   I   .   P


    نقاط : 5553

    إنشاء المستخدمين و منح الصلاحيات Empty Re: إنشاء المستخدمين و منح الصلاحيات

    Post by pc-king.dahek.net Tue Dec 27, 2011 1:55 am

    جميل جداً و احيك
    واكيد كنت الاول بالصف
    عفريت السويداء
    عفريت السويداء
    عضو مميز
    عضو مميز


    نقاط : 1157

    إنشاء المستخدمين و منح الصلاحيات Empty Re: إنشاء المستخدمين و منح الصلاحيات

    Post by عفريت السويداء Wed Dec 28, 2011 6:26 am

    أي معلوم يا زلمي

    بس هشي كان من زمان

    اسا مليت من الاولية فتركتلن ياها

    شكرا لك على هذا المرور الكريم
    al-Master
    al-Master


    نقاط : 123

    إنشاء المستخدمين و منح الصلاحيات Empty Re: إنشاء المستخدمين و منح الصلاحيات

    Post by al-Master Fri Jan 06, 2012 6:36 pm

    شكرا على هذا الموضوووع الجميل Arrow

      Current date/time is Fri Nov 22, 2024 1:10 pm