Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Как определить, что пользователь внешний?  [new]
Злой Дядька
Member

Откуда: Москва
Сообщений: 3
Есть список пользователей, взятый из DBA_USERS. Требуется определить, какие из них внешние, а какие нет. Если в DBA_USERS поле PASSWORD пустое, то означает ли это, что пользователь - внешний? Как вообще это можно распознать?
9 ноя 06, 11:27    [3373954]     Ответить | Цитировать Сообщить модератору
 Re: Как определить, что пользователь внешний?  [new]
Elic
Member

Откуда:
Сообщений: 29979
AFAIK, при identified externally
dba_users.password = 'EXTERNAL'
9 ноя 06, 12:02    [3374447]     Ответить | Цитировать Сообщить модератору
 Re: Как определить, что пользователь внешний?  [new]
Злой Дядька
Member

Откуда: Москва
Сообщений: 3
Elic
AFAIK, при identified externally
dba_users.password = 'EXTERNAL'


Спасибо!
9 ноя 06, 13:18    [3375304]     Ответить | Цитировать Сообщить модератору
 Re: Как определить, что пользователь внешний?  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 10043
Just one more thing. Oracle still maintains OPS$ compatibility. Before introducing IDENTIFIED EXTERNALLY there were so called OPS$ accounts. If you try to connect without specifying username & password (e.g. sqlplus /) Oracle would look for an account with OS username prefixed with OPS$. If such account would exist, Oracle would let you in based on the fact you were OS authenticated. At the same time you were able to connect via OPS$ account traditional way, e.g. sqlplus ops$os_user/oracle_password since OPS$ account was created using IDENTIFIED BY password and password was stored in data dictionary. To make the story short, if init.ora parameter OS_AUTHENT_PREFIX=OPS$, then Oracle maintains the above behavior and in addition to IDENTIFIED EXTERNALLY accounts any Oracle account starting with OPS$ is also external one.

SY.
9 ноя 06, 16:54    [3377510]     Ответить | Цитировать Сообщить модератору
 Re: Как определить, что пользователь внешний?  [new]
devuser
Member

Откуда: Prague
Сообщений: 103
Получается что пользователь является внешним в том случае если :
dba_users.password = 'EXTERNAL'
или
имя пользователя начинается с OPS$.

Собственно вопрос : а есть ли какой-либо другой определения что пользователь внешний?
Чтобы не давать права на dba_usersю (сейчас использую - Select any dictionary только для этого)

С уважением devuser.
14 фев 07, 15:03    [3784842]     Ответить | Цитировать Сообщить модератору
 Re: Как определить, что пользователь внешний?  [new]
Elic
Member

Откуда:
Сообщений: 29979
devuser
Чтобы не давать права на dba_usersю (сейчас использую - Select any dictionary только для этого)
Чтобы получить dba-шную информацию, придётся получить кой-какой административный доступ.
14 фев 07, 15:07    [3784895]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить