@vista1x

Как ограничить права пользователя (или выполняемого им процесса)?

Здравствуйте.

Объясню ситуацию:
Есть компьютер с Windows Server 2008 на борту. На компьютере два пользователя: Администратор и пользователь с обычными правами.
На компьютере установлена служба, которая запускается от имени пользователя.
Что делает служба? Слушает определенный порт. При получении определенного сообщения запускает powershell-скрипт, который в свою очередь запускает несколько других процессов и добавляет/обновляет данные в БД, которая подключена через ODBC.

Задача следующая: нужно сделать так, что бы запускаемые из powershell-скрипта процессы были ограничены в правах: они должны иметь доступ только к своей директории (при этом должно быть право создания файлов, но не их удаления). Другими словами, нужно запускать процесс, который не сможет навредить системе.

Каким образом можно настолько гибко настроить права? Что будет логичнее сделать - ограничивать права непосредственно пользователя или каким-то образом ограничивать права исполняемого приложения?
Буду признателен за полезные ссылки и советы.
  • Вопрос задан
  • 421 просмотр
Решения вопроса 1
saboteur_kiev
@saboteur_kiev Куратор тега Windows
software engineer
Приложение уже ограничено тем, что запускается от имени пользователя.

В Windows нет встроенных средств для chroot (то есть запереть пользователя в одном каталоге), ибо любому процессу нужно обращаться с библиотекам, но можно погуглить сторонние решения, например www.airesoft.co.uk/chroot

Сделать ограничение на создание файлов без удаления можно настройками прав на эту папку средствами NTFS.
Ограничить вообще все папки для этого пользователя будет проблематично, с другой стороны, обычный пользователь и так не сможет навредить. Внести изменения в систему он не сможет. Если же для вас все настолько критично, может имеет смысл запустить на сервере для пользователя виртуальную систему?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы