Страница 1 из 1
Права пользователей на удаление/создание пользователей
Добавлено: 25 янв 2006, 09:48
veart
Туплю не по детски...
Админ (пусть SYSDBA) создает пользователей на сервере.
Потом самый лошарый юзер заходит на сервер и удаляет всех пользователей, каких увидит (ну, пусть кроме SYSDBA).
Это так и должно быть или я чего-то не дочитал?
Нигде не нашел назначение каких-либо прав у пользователей на создание/изменение/удаление других пользователей.
Внутри баз все понятно - WIHT GRAND, WITH ADMIN OPTION, а на серваке!!!!???
Добавлено: 25 янв 2006, 10:10
kdv
www.ibase.ru/devinfo/sqlroles.htm
Потом самый лошарый юзер заходит на сервер и удаляет всех пользователей, каких увидит
прочитай по ссылке, и потом скажи себе - КАК он это сделает?
Нигде не нашел назначение каких-либо прав у пользователей на создание/изменение/удаление других пользователей.
потому что их вообще нет, ни у кого кроме SYSDBA.
Добавлено: 25 янв 2006, 10:29
veart
Я читал эту статью, и это читал:
Только SYSDBA может добавлять, изменять и удалять других пользователей.
Теперь по порядку:
Запускаю IBExpert. Кликаю менеджер пользователей.
Захожу под SSYSDBA.
Добавляю 2 пользователей.
Закрываю.
Захожу опять в менеджер, теперь под созданым юзером - Lox.
Всех вижу, и благополучно удаляю, включая себя.
Думал может IBExpert косячит. Написал прогу с компонентом TIBSecurityService (Builder) - проделал те же операции.
Ничего не понимаю. Понятно, что кто-то где-то тупит.... может и я.
Может это как-то связано с опциями при установке Firebird (Client, Superserver или как там)
Добавлено: 25 янв 2006, 11:08
kdv
у функций сервисов для работы с пользователями требуется передавать имя SYSDBA и пароль. Если ты его и передаешь, хотя зашел под пользователем Lox, то соответственно удаление идет от имени SYSDBA.
В TIBSecurityService.SystemUserName у тебя кто прописан?
Добавлено: 25 янв 2006, 11:22
veart
TIBSecurityService нет SystemUserName, есть просто UserName - оно пустое и Params пустые. LoginPrompt - включено. Только через него указывается имя и пароль. По идее получить другое имя или пароль он никак не может.
Фишка в том что в IBExpert также все удаляется с чужих имен. И на другом компе и на удаленном сервере могу.
Добавлено: 25 янв 2006, 13:14
Dimitry Sibiryakov
А в винду залогинен как администратор? Тогда ничего удивительного: админ автоматически имеет SYSDBA привилегии.
Добавлено: 25 янв 2006, 16:08
kdv
TIBSecurityService нет SystemUserName
что значит "нет"? Нет или не заполнено? Почему у меня есть, а у тебя - нет?
Давай-ка
1. версию IB/FB
2. версию Delphi
3. версию IBX.
насчет IBE - действительно удаляет, причем через Services API, каким образом - не знаю. Services API не должно давать удалять, если не указан SYSDBA.
Фикус интересный, я проверю в IBX.
Добавлено: 25 янв 2006, 16:26
kdv
короче, причина проблемы - в старой версии security.fdb. Если работать с FB 1.5.2 и взять security.fdb из дистрибутива, то управлять пользователями может только SYSDBA.