Форум программистов, компьютерный форум, киберфорум
PostgreSQL
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
-9 / 1 / 0
Регистрация: 25.04.2015
Сообщений: 101
1

GRANT INSERT

10.04.2018, 14:40. Показов 1218. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день! Скажите, пожалуйста, в чем заключается магия?
Если дать разрешение пользователю на UPDATE, DELETE или просто вместо этого написать ALL, то все изменяется и удаляется.
Но, если дать INSERT то нет разрешения добавлять, что за долбанная *****.

Замечание: Пользователь является NOSUPERUSER, но если ему дать суперпользователя, то можно делать INSERT, ну и UPDATE, DELETE, а они не нужны. Т.е. нужно строго разграничить доступ, что одни пользователи могут ТОЛЬКО ДОБАВЛЯТЬ, а другие изменять и т.д.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.04.2018, 14:40
Ответы с готовыми решениями:

INSERT, вложенный в INSERT
Господа формучане, доброго времени суток. У меня мало опыта работы с реляционными БД, посему...

grant-ы
Доброе время суток! Никак не могу разобраться. У меня есть таблица commission. Для всех...

непонятки с оператором GRANT
Этот оператор даёт определённые привилегии пользователю. Предположим есть пользователь, который...

GRANT EXECUTE ON . TO @User
Необходимо выдать права на запуск хранимой процедуры пользователю БД (db_Reader+db_Writer)....

4
1241 / 960 / 379
Регистрация: 02.09.2012
Сообщений: 2,936
10.04.2018, 16:24 2
Цитата Сообщение от AkulPavel Посмотреть сообщение
Если дать разрешение пользователю на UPDATE, DELETE или просто вместо этого написать ALL, то все изменяется и удаляется.
Но, если дать INSERT то нет разрешения добавлять, что за долбанная *****.
Где-то вы ошиблись с добавлением ролей и раздачей привилегий. Не должно быть такого.
Покажите подробности, кто овнер таблицы и какие сейчас разрешения выставлены (в форме ACL role=xxxx\role).
И у вас случайно пользователь не овнер таблицы??
Помним, что овнеру таблицы по умолчанию (при создании) даны все права на таблицу.
0
-9 / 1 / 0
Регистрация: 25.04.2015
Сообщений: 101
10.04.2018, 18:37  [ТС] 3
CREATE ROLE manager LOGIN
ENCRYPTED PASSWORD 'md56083c4591010db26925a99d37419954e'
NOSUPERUSER NOINHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;

ACL {postgres=arwdDxt/postgres,manager=a*r*w*d*/postgres,director=a*r*w*d*D*x*t*/postgres,user1=ar/postgres}

А овнер у таблицы postgres, а захожу и пробую под другими пользователями. Так на UPDATE, DELETE работает, а на INSERT нет.

Добавлено через 3 минуты
Вот бы еще знать расшифровку - arwdDxt. И почему там звездочки...
0
1241 / 960 / 379
Регистрация: 02.09.2012
Сообщений: 2,936
10.04.2018, 23:36 4
Цитата Сообщение от AkulPavel Посмотреть сообщение
Вот бы еще знать расшифровку - arwdDxt. И почему там звездочки...
С расшифровкой проблем нет. Вот (в конце) : https://www.postgresql.org/doc... grant.html
Звездочка означает, что вы делали WITH GRANT OPTION, когда назначали права (то есть назначено право назначать право такого-то доступа). Интересует другое. Вы пишите
Цитата Сообщение от AkulPavel Посмотреть сообщение
а захожу и пробую под другими пользователями.
Под другими какими?? У вас manager, director и user1 - это групповые роли?? Пользователи этих групп наследуют привилегии??
0
-9 / 1 / 0
Регистрация: 25.04.2015
Сообщений: 101
11.04.2018, 20:35  [ТС] 5
Да. Под пользователями director и manager. User1 то пробный, его уже удалил. Это не групповые, потому что они находятся в роли входа. Там же в свойствах указано LOGIN.

Добавлено через 3 минуты
Пользователи этих групп не наследуют привилегии и логин - роль входа:
CREATE ROLE manager LOGIN
ENCRYPTED PASSWORD 'md56083c4591010db26925a99d37419954e'
NOSUPERUSER NOINHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;

Добавлено через 2 часа 52 минуты
Разобрался! Оказывается последовательность не давала доступ, т.к. в таблице первичный ключ - INT SERIAL NOT NULL.
Потом я и для последовательности дал доступ и все заинсертило.
0
11.04.2018, 20:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.04.2018, 20:35
Помогаю со студенческими работами здесь

Grant и create session
Чем отличаются привилегии CREATE SESSION и CONNECT?

Такой ли any полученный grant select any dictonary
После получения грантов методом grant select any dictonary to usr; по прежнему нельзя посмотреть...

Установка привилегий (grant) для роли
Доброго дня. Создал роль, и не могу назначить ей права. Делаю так: GRANT ALL ON MANAGER TO...

Как дать права на все объекты БД Firebird (Grant ALL to ALL)
Есть несколько БД Firebird в каждую из которых заведены 25 одинаковых пользователей. Подскажите...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru