خرید بک لینک

زمانی که user1 مجوز اجرای پروسیجرش را به user2 اهدا می کند، user2 علاوه بر امکان اجرای این پروسیجر، می تواند محتویات پروسیجر را هم مشاهده کند:

SQL> show user

User is “user1”

SQL> create user user2 identified by u;

User created

SQL> grant create session to user2;

Grant succeeded

SQL> grant execute on user1.myproc1 to user2;

Grant succeeded

SQL> co user2/u

Coected.

SQL> exec user1.myproc1;

PL/SQL procedure successfully completed.

SQL> select line,text from all_source p where p.NAME=’MYPROC1′;

البته این دسترسی صرفا به مشاهده و اجرا محدود می شود و کاربر user2 امکان تغییر و یا کامپایل کردن این پروسیجر را ندارد:

SQL> alter PROCEDURE USER1.MYPROC1 compile;

ERROR at line 1:

ORA-01031: insufficient privileges

حال اگر کاربر user1 مجوز اجرای یکی از پکیجها را به user2 اهدا کند، این کاربر(user2) می تواند تمامی فانکشنها و پروسیجرهای این پکیج را هم اجرا کند ولی امکان مشاهده محتویات این پکیجها را نخواهد داشت و صرفا می تواند قسمت spec پکیج را ببیند:

SQL> show user;

User is “user1”

SQL>

SQL> create or replace package pkg1 is

2 procedure proc1;

3 end pkg1;

4 /

Package created

SQL> create or replace package body pkg1 is

2 procedure proc1 is

3 begin

4 dbms_output.put_line(‘my name usef!’) ;

5 end proc1;

6 end pkg1;

7 /

Package body created

SQL> grant execute on pkg1 to user2;

Grant succeeded

SQL> co user2/u

Coected.

SQL> exec USER1.PKG1.PROC1;

PL/SQL procedure successfully completed.

SQL> select p.OWNER,line,text from all_source p where p.OWNER=’USER1′

برای مشاهده Package Body توسط کاربر user2، می توان دستور زیر را اجرا کرد:

SQL> co user1/u

Coected.

SQL> grant debug on PKG1 to user2;

Grant succeeded.

SQL> co user2/u

Coected.

SQL> select p.OWNER,line,text from all_source p where p.OWNER=’USER1′;

البته با اهدای این مجوز، کاربر user2 امکان تغییر و یا کامپایل این پکیج را نخواهد داشت:

SQL> co user2/u

Coected.

SQL> alter PACKAGE USER1.PKG1 compile;

ERROR at line 1:

ORA-01031: insufficient privileges

SQL> alter PACKAGE USER1.PKG1 compile BODY

ERROR at line 1:

ORA-01031: insufficient privileges

ارتباط با نویسنده مطلب:vahidusefzadeh@ کانال تخصصی اوراکل و لینوکس: OracleDB@

برچسب: نویسنده: استخدام کار تاريخ: يکشنبه 18 اسفند 1398 ساعت: 12:50

صفحه بندی

خبرنامه