Я пытаюсь настроить PostgreSQL для локального использования на своем рабочем столе, и я столкнулся со странной проблемой. Кажется, я не могу найти простой способ сделать кластер базы данных (который является просто каталогом) доступным только пользователю postgres и полностью доступным для него. Другими словами, я хочу, чтобы postgres (пользователь) имел полный доступ к каталогу, а все остальные просто могли прочитать, что в нем (чтобы можно было копировать файлы).
Я создал пользователя «postgres», удалил его из всех групп и отказал в праве на запись в группу «Пользователи». Однако, когда я пытаюсь инициализировать базу данных, пользователь postgres, кажется, не может записать в каталог - как только я удаляю запрет записи из «Users», он работает нормально.
Я знаю, что мог бы сделать что-то вроде запрета на запись для моего пользователя по умолчанию (я сам по себе), но этот пользователь принадлежит «Администраторам», а не «Пользователям». Поскольку очевидно, что все пользователи принадлежат «Пользователям» неявно, и отказ имеет приоритет, я боюсь, что я, как единственный администратор, могу отказать себе в возможности изменить этот каталог в любой момент в будущем.
Я видел некоторые другие инструкции, которые касаются групповой политики и т. Д., Но они кажутся недостаточно конкретными, и процесс кажется слишком сложным, что заставляет меня думать, что я неправильно понимаю разрешения NTFS / Windows. Это чувство еще более усугубляется тем фактом, что я могу думать о том, как сделать это в Linux за 5 минут и просто. Я даже не уверен, возможно ли это на данный момент.
Как бы я дал конкретному пользователю единоличный доступ к каталогу и никому другому?
редактировать: я думаю, что я могу свести этот вопрос к более простому: есть ли способ запретить что-либо пользователю, который принадлежит к группе администраторов? И если бы вы сделали это, вы бы смогли восстановить разрешения до того, что было раньше?
источник
Ответы:
Вам не нужно ни отказывать в разрешениях, ни удалять
postgres
изUsers
группы. Эта группа должна иметь доступ на чтение к каталогу, но не иметь права на запись. Обратите внимание, что это не то же самое, что отрицание, вам просто нужно убедиться, что каталог кластера не наследует никаких разрешений от своего родителя, а затем вручную назначить ему разрешения на чтение дляUsers
группы. Затем назначьте ему права на записьpostgres
только для пользователя, и все готово.Изменить: если приведенное выше объяснение недостаточно ясно, вот скриншот и статья .
источник