Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako nájdete oprávnenia používateľa v Oracle?

Existuje niekoľko spôsobov, ako nájsť privilégiá používateľov v Oracle, v závislosti od úrovne detailov, ktorú potrebujete, a či sa pozeráte na konkrétnych používateľov alebo systém systému. Tu je niekoľko bežných metód:

1. Používanie `dba_sys_privs` a` dba_tab_privs` zobrazenie:

Tieto zobrazenia Data Dictionary poskytujú komplexné informácie o privilégiách systému a objektoch udelených používateľom. `DBA_SYS_PRIVS` ZOBRAZIŤ SYSTÉMNÉ PRIILEGES (napr.` CREATE TABLE`, `CREATE Session`), zatiaľ čo` DBA_TAB_PRIVS` ZOBRAZIŤ PRIZILEGES OBJECT (napr. `Select`,` insert`, `aktualizácia" v konkrétnych tabuľkách).

* pre privilégiá systému:

`` sql

Vyberte * z dba_sys_privs, kde grantEe ='username';

`` `

Nahraďte „Užívateľské meno“ za skutočné používateľské meno.

* pre privilégiá objektov:

`` sql

Vyberte * z dba_tab_privs, kde grantEe ='username';

`` `

Nahraďte „Užívateľské meno“ za skutočné používateľské meno. To zobrazí všetky výsady na všetkých tabuľkách. Tento dotaz môžete vylepšiť a pozrieť sa na konkrétne tabuľky:

`` sql

Vyberte * z dba_tab_privs kde grantEe ='username' a table_name ='table_name';

`` `

Vymeňte `table_name` s názvom tabuľky.

2. Používanie `all_sys_privs` a` all_tab_privs` zobrazenie:

Tieto názory poskytujú informácie o privilégiách, ktoré používateľ * * má priamo alebo nepriamo prostredníctvom rolí. Je to užitočné pre používateľa, ktorý kontroluje svoje vlastné privilégiá. Ak sa pripojíte ako používateľ, môžete použiť tieto zobrazenia:

* pre privilégiá systému:

`` sql

Vyberte * Z all_sys_privs;

`` `

* pre privilégiá objektov:

`` sql

Vyberte * z all_tab_privs;

`` `

Môžete tiež filtrovať podľa používateľského mena, ako napríklad zobrazenia `dba_`.

3. Používanie zobrazení `user_sys_privs` a` user_tab_privs`:

Tieto pohľady ukazujú iba oprávnenia, ktoré priamo udeľujú pripojenému používateľovi. Neukazujú privilégiá udelené prostredníctvom rolí. Užitočné pre používateľa, ktorý vidí iba svoje priame privilégiá.

* pre privilégiá systému:

`` sql

Vyberte * z User_sys_privs;

`` `

* pre privilégiá objektov:

`` sql

Vyberte * z User_tab_privs;

`` `

4. Použitie stĺpca `rolu v predchádzajúcich pohľadoch:

Stĺpec `role` v` dba_sys_privs`, `dba_tab_privs`,` all_sys_privs`, `all_tab_privs` označuje, či je oprávnenie udelené priamo alebo prostredníctvom úlohy. Ak sa to udeľuje prostredníctvom úlohy, budete musieť vyšetriť výsady udelené tejto úlohe. Informácie o rolách nájdete pomocou zobrazení `dba_roles`,` all_roles` alebo `user_roles` v závislosti od vašej úrovne prístupu.

5. Pomocou `Show User`:

Tento príkaz (v SQL*Plus alebo SQL Developer) zobrazí aktuálne pripojeného používateľa. Toto priamo nezobrazuje privilégiá, ale je to východiskový bod na použitie vyššie uvedených zobrazení.

Dôležité úvahy:

* databázové role: Používatelia často dostávajú oprávnenia nepriamo prostredníctvom úloh. Musíte preskúmať úlohy, do ktorých používateľ patrí, a privilégiá, ktoré majú tieto úlohy. Vyžaduje si to dotazovanie `dba_roles`,` all_roles` alebo `User_roles` zobrazenie.

* privilégiá kaskádové cez úlohy: Úlohy môžu udeliť privilégiá iným úlohám. To môže vytvárať zložité privilégiové štruktúry.

* úrovne prístupu: Potrebujete príslušné privilégiá (napr. „Vyberte ľubovoľný slovník“), aby ste dotazli s zobrazeniami Data Dictionary. `DBA_` zobrazenia vo všeobecnosti vyžadujú úlohu` dBA`.

Nezabudnite nahradiť `UserName` a` TABLE_NAME` skutočným používateľským menom a názvom tabuľky, o ktoré vás zaujíma. Vždy spúšťajte tieto otázky opatrne, najmä tie, ktoré používajú zobrazenia „DBA_`, pretože poskytujú prístup k citlivým informáciám.

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené