Вопросы новичков (Part 1)

Надо решить, база у нас человеко читаемая / верифицируемая или нет. А то можно иногда и ИП-адесами ограничится и клад коды вместо названий.

У тебя сейчас записанно что могут коннектится только убунтовские юзеры которые есть на виртуалке с их логинами/паролями.
Поменяй в pg_hba.conf вторую строчку


#это чтобы логиниться с локалхоста просто из под юзера postgres
local   all             all                                     peer

#это чтобы логиниться под другими пользователями по логину паролю
host    all             all             0.0.0.0/0            	md5

Потом добавляешь в пгадмине роль входа которую хотел использовать. Даешь ей всяких прав и пользуешься.

Насчёт пользователей без паролей в PostgreSQL.

Для того, что бы разрешить авторизацию в базу пользователей без проверки паролей, необходимо прописать в pg_hba метод авторизации «trust» (последний параметр в строке pg_hba). Это удобно для разного рода автоматизаций, например импорта в postgresql данных osm, периодической обработки данных по расписанию и т.д. Но это и большая дыра в безопасности, поскольку пароль при методе «trust» вообще не проверяется, по этому если и использовать его, то лучше ограничиться только разрешением в пределах локального компьютера и только на конкретную базу и пользователя.

Так же, многие путаются с авторизацией на локальном компьютере, забывая, что для localhost существует минимум два метода:

  1. через сетевое соединение с локальным сетевым адресом (адресом любого интерфейса либо 127.0.0.1)
  2. через локальный socket

Для первого метода необходимо указать тип соединения «host» в pg_hba, а для второго соединения через локальный сокет, минуя сетевую инфраструктуру тип «local». И соединение «pgsql -h localhost» — это именно соединение через сокет, а не через сеть.

Поэтому, если нам надо что бы все и всегда, включая локальную авторизацию, авторизовывались по пользователям и паролям из самой базы, а не из ОС, то необходимо прописать:


# с localhost, используя локальный unix-socket
local    all    all    md5
# с localhost, используя tcp/ip 4 и 6 (для каждого своя настройка)
host    all    all    127.0.0.1/32    md5
host    all    all    ::1/128    md5
# с любого адреса в сети, кроме локального компьютера, через IPv4
host    all    all    0.0.0.0/0    md5

Для локальной авторизации без пароля, пользователя «user1» в базу «base1» нужно прописать первым правило:

local    base1    user1    trust

Методов авторизации по паролям два: «md5» и «password», второй отличается от первого тем, что пароль передаётся открытым текстом. По умолчанию раньше использовался именно «password».

Вроде, это всё в документации есть, прямо по шагам?

Добрый день. Дабы не создавать пост, напишу здесь. Дано: поднятый тайловый сервер по мануалу с switch2osm.org, собственно тайлы отрисовывает и складывает в папочку, НО когда появляются изменения в базе postgresql, тайлы не регенерятся, а остаются старые, т.е. на карте изменений не видно, пока вручную не удалим папку со старыми тайлами. Не подскажете как решить такую проблему? Заранее спасибо.

http://switch2osm.org/serving-tiles/building-a-tile-server-from-packages/ раздел Updating, вроде всё расписано…
Запуск скрипта openstreetmap-tiles-update-expire настроили?

dkiselev
Спасибо, подробное объяснение по авторизации очень пригодится. Я опасался что мои игры с паролями могут впоследствии вылиться в сложности при применении диффов.

Какие новички-то нынче пошли, однако.

ах да, забыл сказать, что данные osm брал с гислаба и вгружал не весь мир, этот скрипт будет работать так же?

А почему колпино так выделяется, на одном уровне с Великим Новгородом и Псковом?

Потому что place=city
http://www.openstreetmap.org/node/60081897

а мне интересно, почему питер выделен красным курсивом, как области?

Потому что субъект федерации. Москва и Питер имеют один уровень в иерархии с областями и республиками.

Вокруг много place=city, но только Колпино проявляется через зум послес С.П-б и Москвы, и только ещё через три зума появляются названия других городов.

Ктому же на точке town, а на отношении city. Да и с admin_level не понятно. Для районов питера должны быть 5, а там 8 что обозначает округ.

Петрозаводск на месте, а все остальное, включая Выборг - это town, а не city.

Так одно дело - Колпинский район, а другое - само Колпино. А вот с city/town у точки/границы есть проблема, да. Это проблема массовая, издержки дублирования данных.

Какие из них city, например? Петрозаводск есть дальше, он на ваш скрин не попал.
У меня есть выгрузка всех н.п. place 2-х месячной давности. Рядом с Питером place=city такие (по удалению): Колпино, Великий Новгород, Лаппеэнранта и Псков. Дальше уже Петрозаводск, Тарту, Великие Луки, Тверь и т.п.

town - это уже исправили после того, как я написал. :wink:

А с admin_level что ?

А на форуме модераторы-то работают?
http://forum.openstreetmap.org/viewtopic.php?pid=383989#p383989

Нет, только числятся.
И кстати в других региональных ветках даже и такого нет.