Разрешения пользователя/группы в Windows 2012

Разрешения пользователя/группы в Windows 2012

Я хотел бы получить несколько предложений о том, как можно настроить разрешения в Windows-2012 для следующего варианта использования:

  1. Каждый пользователь (назовем его bob) запускает приложение (назовем его myapp).
  2. myappтребуются разрешения на чтение/запись для всех файлов и папок в c:\Users\bob\myapp(1)
  3. bobтребуются разрешения на чтение/запись в c:\Users\bob\myapp\templates.
  4. bobне могу прочитать папкуc:\Users\bob\myapp\logs
  5. По умолчанию и если не указано иное в пунктах 3 и 4, bobможно читать любые файлы и папки вc:\Users\bob\myapp\

Я работаю с Linux и не совсем понимаю, как организовать это на Windows Server.

Буду признателен, если кто-нибудь укажет мне правильное направление!

(1) Я придумал путь. Он будет где-то в окнах. (Я не думаю, что это важно, но если так, поделитесь своими знаниями!)

EDIT: Решение под Linux

  • Приложение работает под пользователем bobapp, группой bobapp.
  • Пользователь работает под пользователем bob, который является частью группыbobapp
  • Все файлы и папки в этом разделе /users/bob/myappпринадлежат пользователю bobapp, группеbobapp
  • В разделе /users/bob/папки имеют разрешения 750(чтение/запись/выполнение для владельца, чтение/выполнение для группы, нет для всех) и обычные файлы 640(чтение/запись для владельца, чтение для группы, нет для всех), исполняемые файлы 750(чтение/запись/выполнение для владельца, чтение/выполнение для группы, нет для всех)
  • /users/bob/myapp/logsимеет разрешения 700 (чтение/запись/исполнение для владельца, нет для группы и нет для всех остальных)

Примечание 1: Отображение графического приложения, работающего bobappв bobсеансе, может стать еще одной проблемой, но существует множество вариантов, позволяющих сеансу видеть графическое приложение bobи взаимодействовать с ним .bobapp

Примечание 2: sudoбудет использоваться в случае, если bobтребуется запустить myapp, так как для запуска приложения необходимо временно получить разрешения. sudoбудет очень ограниченным и позволит bobзапустить программу только от имени bobappпользователя.

Примечание 3: Когда приложение или пользователь создает новые файлы и папки, вам нужно быть внимательным к разрешениям по умолчанию, которые будут унаследованы при создании новых файлов и папок (несколько вариантов, вероятно, я бы использовал что-то вродеэтот)

решение1

Как бы вы решили эту проблему в системах Linux?
Поскольку приложение работает в контексте пользователя, разрешения на чтение и запись одинаковы.
Вы можете установить разрешения для каталога с помощью Caclsили через процедуру установки.
Вероятно, вы бы сделали главный каталог c:\Users\bob\myappдоступным для чтения и записи.
Наследуйте эти разрешения для всех подкаталогов, кроме c:\Users\bob\myapp\logs.
Вы упомянули sudoв баунти, поэтому я предполагаю, что вы видите ту же проблему. Вы не можете применять ограничения, когда приложение работает в том же контексте. Поэтому вам нужно будет либо запустить приложение в другом контексте пользователя, либо найти другое решение для каталога logs. Вы можете отменить разрешения, читать/писать, а затем снова установить разрешения. Поскольку пользователь является владельцем каталога, когда он его создал, вы можете изменить разрешения в любое время.

О вашем вопросе пути Windows: есть защищенные пути, такие как C:\Program Files\или C:\Windows\, которым нужны административные привилегии (и принадлежит TrustedInstaller). Поэтому важно, где создавать ваши каталоги.

Редактировать:
Из обновления OP ссылались sudo. Этот инструмент нужен для запуска программы от имени другого пользователя, обычно настроенного на то, чтобы не требовался пароль для изменения контекста. Насколько мне известно, в vanilla Windows нет эквивалента.
Вы можете посмотреть обсуждениездесьо том, как получить повышенные запросы и т. д., но в основном для этого требуются права администратора и/или требуется ввести пароль, например runas.
Кроме того "Выдать себя за клиента после аутентификации«может быть, поможет, но я никогда этим не пользовался и ничего не могу о нем сказать.

Связанный контент