Як Oracle дізнається, хто я?


12

Трохи неважливо, але це викликало мою цікавість.

Я тільки що ввійшов у базу даних Oracle 10g вперше за допомогою інструментів розробника Oracle SQL.

Я використовував загальний логін користувача, який не моє ім’я (nottstest2), з машини, яка називається чимось, що не моє ім’я (кабачка). Моє ім’я ніде в базі даних не пов’язано з логіном.

Тим не менш, журнали сервера показують з'єднання від "Джон Хопкінс".

Звідки дізнатися, хто я? Це якимось чином витягується з мого входу в Windows (хоча я не використовую єдиний вхід)?


22
Його не називають Oracle ні за що.

2
@AlexK. Саме моє мислення. Щодня ... :-)
Лукас Едер

2
Великий Oracle дивиться ...

Відповіді:


15

Як увійти courgette? Чи впізнало б це ім’я користувача?

Ви можете перевірити це, запустивши

select sys_context('userenv', 'os_user') 
from dual;

Простір імен USERENV може отримати багато різної інформації про користувача та його оточення. Дізнайтеся більше .


6

Клієнт Oracle (він же драйвер) знає, хто ви знаходитесь у вашій операційній системі (оскільки цей код працює на вашому комп'ютері).

Ця інформація передається як частина процесу входу.

Залежно від вашої програми та типу драйверів (OCI / JDBC), вона навіть передає інформацію, як-от ім'я вашого комп'ютера.

Якщо можете, запустіть a, SELECT * FROM v$session WHERE sid = userenv('SID')і ви побачите всю інформацію, яку розкрив водій про ваше оточення.

Можливо, ви не зможете запитувати v $ session, тому що для цього потрібні нестандартні привілеї.


1

Чи використовуєте ви сервер LDAP для автентифікації входів (наприклад, Microsoft Active Directory, Novel eDirectory тощо)? Oracle може допитати це на підставі входу в сеанс ОС, як ви пропонуєте, щоб отримати своє справжнє ім’я.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.