|
Как запретить юзеру видеть список чужих баз ?
|
|||
---|---|---|---|
#18+
Сервер Postgresql 8.3.4 У каждого юзера есть своя owned база данных и свой tablespace. В pg_hba.conf разрешено только обращение от user'a к базе sameuser (такого же имени как и пользователь). Но если законнектится например от user1, и сделать такой sql запрос : select * from pg_catalog.pg_database; в ответ выдас список всех баз данных которые есть на сервере. Тоже самое с tablespaces : select * from pg_catalog.pg_tablespace; в ответ выдаст список всех tablespace которые есть на сервере. Как сделать так, чтобы юзер не мог видеть название чужих баз и tablespace ? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2009, 19:33 |
|
Как запретить юзеру видеть список чужих баз ?
|
|||
---|---|---|---|
#18+
ruslan A., у меня, например, я запретил пользователям обращаться к чему-либо, кроме ХП. Для этого у роли public отнимаются права на всё, а остальным даются конкретные права. Этим вопрос исчерпывается полностью. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2009, 21:20 |
|
Как запретить юзеру видеть список чужих баз ?
|
|||
---|---|---|---|
#18+
ОКТОГЕНruslan A., у меня, например, я запретил пользователям обращаться к чему-либо, кроме ХП. Для этого у роли public отнимаются права на всё, а остальным даются конкретные права. Этим вопрос исчерпывается полностью. Делаю так : REVOKE ALL PRIVILEGES ON SCHEMA pg_catalog FROM public; REVOKE ALL PRIVILEGES ON SCHEMA pg_catalog FROM user1; или так : REVOKE SELECT ON pg_catalog.pg_database, information_schema.routines FROM public; REVOKE SELECT ON pg_catalog.pg_database, information_schema.routines FROM user1; после этого user1 всё равное делает select * from pg_catalog.pg_database; подскажите, что я делаю не так ? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2009, 18:50 |
|
Как запретить юзеру видеть список чужих баз ?
|
|||
---|---|---|---|
#18+
REVOKE ALL ON pg_database FROM public; REVOKE ALL ON pg_tablespace FROM public; ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2009, 18:58 |
|
Как запретить юзеру видеть список чужих баз ?
|
|||
---|---|---|---|
#18+
У меня явно отобрано у всех объектов все права, которые только можно отобрать. Потом выделил то, без чего приложение работать не может(список типов, и т.п., 2-3 права всего+ ХП естественно). Все хранимки, принимающие текст с динамическим SQL проверяются на кавычки и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2009, 22:53 |
|
Как запретить юзеру видеть список чужих баз ?
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2009, 23:08 |
|
Как запретить юзеру видеть список чужих баз ?
|
|||
---|---|---|---|
#18+
кажется, после обновления до 8.4.2 этот трюк перестал работать ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2010, 17:09 |
|
Как запретить юзеру видеть список чужих баз ?
|
|||
---|---|---|---|
#18+
вру, во всём виноват юзер public для чего он вообще? он какой-то особый? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2010, 17:19 |
|
Как запретить юзеру видеть список чужих баз ?
|
|||
---|---|---|---|
#18+
Weedвру, во всём виноват юзер public для чего он вообще? он какой-то особый?public — это ключевое слово для обозначения «Все». ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2010, 18:11 |
|
Как запретить юзеру видеть список чужих баз ?
|
|||
---|---|---|---|
#18+
Изменилось ли что-то за последние 7(!) лет? Еще бы два дня и было бы ровно 7 лет с момента последнего сообщения, но ждать не хочу :) Собственно сам по себе вопрос тот же Есть сервер версии 9.5, на него цепляется порядка 80 пользователей. Для каждого пользователя есть своя база. Если зацепится через pgadmin или psql видно все остальные базы. Понятно, что pg_hba у каждого пользователя описано куда он может подключится и это работает хорошо. Очень бы хотелось скрыть сам факт наличия других баз. Как сделать так, чтобы при подключении пользователь видел только свою базу ну и там postgres, template, а базы других пользователей не видел? Гуглил, листал форум ничего не нашел, вернее то, что нашел не работает :( ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2017, 20:00 |
|
Как запретить юзеру видеть список чужих баз ?
|
|||
---|---|---|---|
#18+
YP977, в 9.5 появилась функциональность ALTER TABLE ... ENABLE ROW LEVEL SECURITY https://postgrespro.ru/docs/postgrespro/9.5/ddl-rowsecurity предполагаю, что можно это использовать для того, чтобы нужные пользователи видели свою строку из pg_database ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2017, 17:23 |
|
|
start [/forum/topic.php?fid=53&fpage=79&tid=1996730]: |
0ms |
get settings: |
16ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
99ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 203ms |
0 / 0 |