Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Минимум прав
|
|||
|---|---|---|---|
|
#18+
В PostgreSQL новый созданный пользователь имеет права на просмотр структуры БД (\d итд), на просмотр статистической информации pg_stat... и многое другое через соединение по psql. Как его можно ограничить только конкретными действиями с конкретными таблицами? Схема public, может здесь копать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 15:40 |
|
||
|
Минимум прав
|
|||
|---|---|---|---|
|
#18+
Присоединяюсь к вопросу - и как запретить коннект пользователя к определенным базам? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 23:09 |
|
||
|
Минимум прав
|
|||
|---|---|---|---|
|
#18+
Master AlexПрисоединяюсь к вопросу - и как запретить коннект пользователя к определенным базам? Спасибо. Можно,н-р, разрешить коннект к определенным базам с определенных ip в hba.conf. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2007, 04:39 |
|
||
|
Минимум прав
|
|||
|---|---|---|---|
|
#18+
Для соединения с БД используется парольная аутентификация (passwd), но пароль в выполняемом файле программы (с использованием библиотеки libpq, ф-ия PQconnectdb) просматривается в открытом виде и при взломе машины клиента легко просмотреть пароль. Ввод пароля вручную невозможен, так как программа стоит на сервере и работает без оператора. Как можно скрыть пароль от просмотра и запретить присоединяться к БД с клиентской машины всеме способами, кроме одной программы с жестко зашитыми в нее запросами? Или может можно запретить присоединяться с помощью psql к консоли вообще (что-то типа файла /etc/passwd и /dev/null в нем)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2007, 13:16 |
|
||
|
Минимум прав
|
|||
|---|---|---|---|
|
#18+
postuserДля соединения с БД используется парольная аутентификация (passwd), но пароль в выполняемом файле программы (с использованием библиотеки libpq, ф-ия PQconnectdb) просматривается в открытом виде и при взломе машины клиента легко просмотреть пароль. Ввод пароля вручную невозможен, так как программа стоит на сервере и работает без оператора. Как можно скрыть пароль от просмотра и запретить присоединяться к БД с клиентской машины всеме способами, кроме одной программы с жестко зашитыми в нее запросами? Или может можно запретить присоединяться с помощью psql к консоли вообще (что-то типа файла /etc/passwd и /dev/null в нем)? Если клиентскую машину сломают и получат админа - то ни что вам не поможет. Вернее ни что не помешает злоумышленникам подконектиться к базе с этой машины. Так что не парьте себе голову об этом, а парьте о том, как лучше защитить клиета. Хотя открытый пароль тоже не дело... А что у вас на стороне клиента стоит - винда или юних? Если юних, то можно дополнительные меры предпринять : сделать аутентификацию через ident, разграничить нормально пользователей/права, закрыть файрволлом... Но если на ней ктонить рута получит то все это не поможет, само сабой :-) Ну и права в базе правильно раздать. Если это настолько критично, то можно всю работу через функции/представления организовать (правда, насчет функций это еще вопрос - а не станут ли они дополнительной дыркой?) В самом общем случае, для вашей ситуации, я бы посоветовал 1. Сделать отельного юзера под которым ваша программа будет работать 2. Пароль положить в отдельный файл с правами ТОЛЬКО ЧТЕНИЕ ДЛЯ ЭТОГО ЮЗЕРА 3. Программу запускать через su / sudo от имени этого юзера и в программе считывать пароль с файла 4. Если очень охота, то (помимо настройки самого постгреса через pg_hba.conf) на клиенте файрволом открыть доступуп к базе только этому юзеру Думаю на винде это все тоже можно реализовать :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2007, 16:38 |
|
||
|
Минимум прав
|
|||
|---|---|---|---|
|
#18+
Клиент на Linux. Для работы клиентской программы нужны права на UPDATE одной таблицы и на SELECT из некоторых других, но на таблицу, к которой нужен UPDATE повешан триггер, процедуры которого требуют прав на INSERT, UPDATE еще нескольких критичных таблиц. Скорее всего, такого распределения никак не избежать, так как эти триггеры необходимы. Но все же странно, зачем давать права на просмотр структуры базы всем пользователям (с помощью psql \d table)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2007, 17:00 |
|
||
|
Минимум прав
|
|||
|---|---|---|---|
|
#18+
postuser Master AlexПрисоединяюсь к вопросу - и как запретить коннект пользователя к определенным базам? Спасибо. Можно,н-р, разрешить коннект к определенным базам с определенных ip в hba.conf. Спасибо за идею, но имелось в виду нечто такое: REVOKE CONNECT ON DATABASE db_test FROM user_test; это выполняется без ошибок, но пользователь user_test после этого все равно может подключиться к базе db_test. Что-то упустил? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2007, 23:26 |
|
||
|
Минимум прав
|
|||
|---|---|---|---|
|
#18+
Master Alex postuser Master AlexПрисоединяюсь к вопросу - и как запретить коннект пользователя к определенным базам? Спасибо. Можно,н-р, разрешить коннект к определенным базам с определенных ip в hba.conf. Спасибо за идею, но имелось в виду нечто такое: REVOKE CONNECT ON DATABASE db_test FROM user_test; это выполняется без ошибок, но пользователь user_test после этого все равно может подключиться к базе db_test. Что-то упустил? Это и нужно прописывать в hba.conf. Каким пользователям, каким образом, к каким базам, с каких адресов можно подключаться (и соответственно, нельзя). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 17:10 |
|
||
|
Минимум прав
|
|||
|---|---|---|---|
|
#18+
JelisЭто и нужно прописывать в hba.conf. Каким пользователям, каким образом, к каким базам, с каких адресов можно подключаться (и соответственно, нельзя). Спасибо. Т.е., похоже, установку прав пользователей на коннект к базе средствами SQL так и не сделали. Жалко. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2007, 12:39 |
|
||
|
Минимум прав
|
|||
|---|---|---|---|
|
#18+
Master Alex JelisЭто и нужно прописывать в hba.conf. Каким пользователям, каким образом, к каким базам, с каких адресов можно подключаться (и соответственно, нельзя). Спасибо. Т.е., похоже, установку прав пользователей на коннект к базе средствами SQL так и не сделали. Жалко. можно сделать alter role u1 connection limit 0, вот только указать конкретную базу нельзя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2007, 13:04 |
|
||
|
Минимум прав
|
|||
|---|---|---|---|
|
#18+
8.2.х вроде все работает Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2007, 10:58 |
|
||
|
Минимум прав
|
|||
|---|---|---|---|
|
#18+
в последних строчках не U:\>psql а U:\>psql -U u1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2007, 11:00 |
|
||
|
Минимум прав
|
|||
|---|---|---|---|
|
#18+
st_serg8.2.х вроде все работает я без этого пробовал: revoke connect on database postgres from public; Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2007, 18:24 |
|
||
|
Минимум прав
|
|||
|---|---|---|---|
|
#18+
Продолжение проблемы разделения прав - к большой базе несколько типов интерфейсов, один из них к сайту стороннего разработчика. Нужно дать доступ к части данных (только 2 вьюва, возможно процедура) не показывая структуры всех остальных объектов, ибо вся логика именно в базе, а проект заставляет страдать параноей по полной ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2007, 22:43 |
|
||
|
Минимум прав
|
|||
|---|---|---|---|
|
#18+
235Продолжение проблемы разделения прав - к большой базе несколько типов интерфейсов, один из них к сайту стороннего разработчика. Нужно дать доступ к части данных (только 2 вьюва, возможно процедура) не показывая структуры всех остальных объектов, ибо вся логика именно в базе, а проект заставляет страдать параноей по полной Присоединяюсь к вопросу. Существует некоторое количество объектов. Хотелось бы чтобы определенный пользователь мог использовать пару вьювов и процедур, но не мог видет и использовать остальные объекты, а уж тем более просматривать структуру таблиц. Я запретил просмотр содержимого таблиц, использование функций. Но как сделать так чтобы пользователь вообще не видел существуют они или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2007, 12:05 |
|
||
|
Минимум прав
|
|||
|---|---|---|---|
|
#18+
я думаю, можно поробовать это RTFMREVOKE [ GRANT OPTION FOR ] { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] } ON SCHEMA schemaname [, ...] FROM { username | GROUP groupname | PUBLIC } [, ...] [ CASCADE | RESTRICT ] для схем information_schema и pg_catalog. не проверял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2007, 14:01 |
|
||
|
Минимум прав
|
|||
|---|---|---|---|
|
#18+
ездуня думаю, можно поробовать это RTFMREVOKE [ GRANT OPTION FOR ] { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] } ON SCHEMA schemaname [, ...] FROM { username | GROUP groupname | PUBLIC } [, ...] [ CASCADE | RESTRICT ] для схем information_schema и pg_catalog. не проверял Проверял. Не сработало. Только после revoke на pg_proc не показывает, но интуиция подсказывает, что будут тогда еще грабли=) Выслушаю другие предложения. Выкрутил в настройках Debug5 чтобы ловить все запросы в логах, но пока не помогло(правда мало вникал). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2007, 15:01 |
|
||
|
Минимум прав
|
|||
|---|---|---|---|
|
#18+
Пардон, все таки вчера пере revoke`ил pg_catalog+pg_proc. pgadmin ругается, работает, но структуру не показывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2007, 09:22 |
|
||
|
Минимум прав
|
|||
|---|---|---|---|
|
#18+
нашел забавное. для служебного юзера дал грант на DELETE, пытаюсь DELETE ... WHERE id_main=... пишет - нет прав, на... дал права на SELECT - заработало. неувязочка? нет (типа без селекта не может определить, что делетить?)? пришлось USER DEFINER ф-ю сделать на этот DELETE . Работает без всяких прав на таблицу. ps так какой сухой остаток? ? Код: plaintext 1. а REVOKE USAGE ON information_schema FROM public; не надо ? (или т.к. там все берется из pg_catalog - умрет само?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2008, 13:45 |
|
||
|
Минимум прав
|
|||
|---|---|---|---|
|
#18+
assaнашел забавное. для служебного юзера дал грант на DELETE, пытаюсь DELETE ... WHERE id_main=... пишет - нет прав, на... дал права на SELECT - заработало. неувязочка? нет (типа без селекта не может определить, что делетить?)? зато без where delete работает. кстати, имея права на DELETE ... WHERE id_main=... можно определить какие значения хранятся в таблице в этом поле, путём перебора и отката транзакции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2008, 15:51 |
|
||
|
Минимум прав
|
|||
|---|---|---|---|
|
#18+
Ёшзато без where delete работает. кстати, имея права на DELETE ... WHERE id_main=... можно определить какие значения хранятся в таблице в этом поле, путём перебора и отката транзакции.спасибо. правдоподобно. перебор - это понятно, но это должно быть головняком того, кто рассказал всем (малоправным), что есть такое поле "id_main" по которому они могут на досуге сканировать перебором DELETE-а (и то - только в том случае , если им не погасят сообщение о числе обработанных записей) кстати, имея права на можно определить только общее количество и распределение значений в этом одном поле (чье истинное имя выдано тем же, кто раздал права и на делет). но нельзя, если не дано иное, определить тип * (набор прочих полей), а тем паче их состав..., т.е. нельзя получить все то, что сразу и в полной данности даст любой SELECT * ЗЫ могабыть имеет смысл давать 2 типа грантов, на? DELETE [all] /vs/ DELETE with WHERE или же отличать грант на SELECT от гранта на WHERE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2008, 16:58 |
|
||
|
Минимум прав
|
|||
|---|---|---|---|
|
#18+
assaнашел забавное. для служебного юзера дал грант на DELETE, пытаюсь DELETE ... WHERE id_main=... пишет - нет прав, на... дал права на SELECT - заработало. неувязочка? нет (типа без селекта не может определить, что делетить?)? давеча тож столкнулся, как оказалось все такое поведение описано... http://www.postgresql.org/docs/8.3/interactive/sql-grant.html SELECT Allows SELECT from any column of the specified table, view, or sequence. Also allows the use of COPY TO. This privilege is also needed to reference existing column values in UPDATE or DELETE . For sequences, this privilege also allows the use of the currval function. DELETE Allows DELETE of a row from the specified table. ( In practice, any nontrivial DELETE command will require SELECT privilege as well, since it must reference table columns to determine which rows to delete. ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2008, 10:38 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=34283621&tid=2003811]: |
0ms |
get settings: |
11ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
41ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 260ms |
| total: | 377ms |

| 0 / 0 |
