Сделать каталог доступным для записи только одному пользователю

0

Я пытаюсь настроить PostgreSQL для локального использования на своем рабочем столе, и я столкнулся со странной проблемой. Кажется, я не могу найти простой способ сделать кластер базы данных (который является просто каталогом) доступным только пользователю postgres и полностью доступным для него. Другими словами, я хочу, чтобы postgres (пользователь) имел полный доступ к каталогу, а все остальные просто могли прочитать, что в нем (чтобы можно было копировать файлы).

Я создал пользователя «postgres», удалил его из всех групп и отказал в праве на запись в группу «Пользователи». Однако, когда я пытаюсь инициализировать базу данных, пользователь postgres, кажется, не может записать в каталог - как только я удаляю запрет записи из «Users», он работает нормально.

Я знаю, что мог бы сделать что-то вроде запрета на запись для моего пользователя по умолчанию (я сам по себе), но этот пользователь принадлежит «Администраторам», а не «Пользователям». Поскольку очевидно, что все пользователи принадлежат «Пользователям» неявно, и отказ имеет приоритет, я боюсь, что я, как единственный администратор, могу отказать себе в возможности изменить этот каталог в любой момент в будущем.

Я видел некоторые другие инструкции, которые касаются групповой политики и т. Д., Но они кажутся недостаточно конкретными, и процесс кажется слишком сложным, что заставляет меня думать, что я неправильно понимаю разрешения NTFS / Windows. Это чувство еще более усугубляется тем фактом, что я могу думать о том, как сделать это в Linux за 5 минут и просто. Я даже не уверен, возможно ли это на данный момент.

Как бы я дал конкретному пользователю единоличный доступ к каталогу и никому другому?

редактировать: я думаю, что я могу свести этот вопрос к более простому: есть ли способ запретить что-либо пользователю, который принадлежит к группе администраторов? И если бы вы сделали это, вы бы смогли восстановить разрешения до того, что было раньше?

mechalynx
источник
Короткий ответ на оба вопроса, выделенный жирным шрифтом, - «да». Что касается файловой системы, администраторы всегда будут иметь доступ к корневым папкам диска (если это не ограничено групповыми политиками), поэтому сброс всех разрешений всегда возможен.
Дмитрий Григорьев

Ответы:

1

Вам не нужно ни отказывать в разрешениях, ни удалять postgresиз Usersгруппы. Эта группа должна иметь доступ на чтение к каталогу, но не иметь права на запись. Обратите внимание, что это не то же самое, что отрицание, вам просто нужно убедиться, что каталог кластера не наследует никаких разрешений от своего родителя, а затем вручную назначить ему разрешения на чтение для Usersгруппы. Затем назначьте ему права на запись postgresтолько для пользователя, и все готово.

Изменить: если приведенное выше объяснение недостаточно ясно, вот скриншот и статья .

Дмитрий Григорьев
источник
Я понял, что вы имели в виду, и я изменил разрешения, но мой пользователь все еще способен выполнять все действия, потому что он принадлежит к группе администраторов, я думаю. Я попытался удалить разрешения из группы «Прошедшие проверку», но эффект тот же, кажется, что разрешение «Разрешить» также имеет приоритет перед отсутствием разрешений. редактировать: также пытался удалить разрешения от моего собственного пользователя, в частности, тот же эффект - в любом случае не ожидал многого.
mechalynx
Как насчет того, чтобы не использовать учетную запись администратора в качестве обычного логина? Администраторы должны иметь доступ ко всему в системе. Вы по-прежнему можете выполнять административные задачи, вводя пароль администратора при необходимости. ------- В любом случае, вы должны иметь возможность удалять разрешения даже у пользователя с повышенными правами. Вы должны публиковать скриншоты ваших диалогов разрешений, в противном случае вашу проблему трудно диагностировать.
Дмитрий Григорьев
Я бы с радостью не использовал учетную запись администратора в качестве своей обычной учетной записи, и я думал, что это произойдет, когда я впервые установлю Windows на эту машину, но сейчас уже слишком поздно. Вот снимок экрана: imgur.com/vmiTBX9 - я сделал то же самое для «Пользователей», и оба не имеют никакого эффекта, кроме проводника, жалующегося, что я не могу изменить разрешения впоследствии, которые все равно изменяются. Кажется, что специфичность не вступает в силу. Спасибо за усилия, но я думаю, что я просто откажусь от этого и буду делать регулярные резервные копии, чтобы сохранить целостность.
mechalynx
Из того, что я вижу на скриншоте, и администраторы, и пользователи имеют «Полный доступ» к папке, а прошедшие проверку пользователи имеют разрешения «Изменить». Вы пытались удалить эти разрешения (и, возможно, вместо этого добавить разрешение «Чтение»)?
Дмитрий Григорьев
Я попытался уменьшить разрешения на «Чтение» как для «Пользователей», так и для «Прошедших проверку», но не для «Администраторов», и я не уменьшил разрешения одновременно для предыдущих групп. Я избегал изменения разрешений «Администратор», чтобы не блокировать себя случайно, и я не менял разрешения одновременно, потому что я ищу простое решение, если это возможно, и потому что я ожидал, что конкретность будет иметь приоритет, поэтому я ожидал одно из них. из них будет только требуется, или ничего не будет работать.
mechalynx