На моем сервере W2k8 R2 установлена программа, для запуска которой требуются права администратора.
У меня есть 5 пользователей, использующих удаленный рабочий стол для удаленного доступа к серверу, чтобы использовать эту программу. Я не хочу давать этим пользователям права администратора, но я хочу, чтобы они могли правильно запускать программу.
Это возможно?
Лучше всего выяснить, к каким разделам реестра и расположениям каталогов программа нуждается в доступе, и предоставить пользователям доступ только к этим областям.
Вы можете использовать инструмент, например Монитор процессов от Sysinternals для этого. Просто войдите в систему как пользователь, запустите Process Monitor, запустите программу и обратите внимание на области, запрещающие доступ.
Я бы, вероятно, использовал группу безопасности в AD, а затем предоставил бы этой группе безопасности доступ к этим системным местоположениям. Все, что вам нужно сделать, это добавить пользователей в эту группу безопасности, и они смогут использовать эту программу в этой системе со своими учетными данными.
Обязательно воспользуйтесь предложением Сайфера. Я решил много надоедливых проблем с приложениями, предоставив пользователю права на изменение определенных каталогов установки через группы безопасности (и, при необходимости, ключи реестра). К сожалению, это предполагает, что приложение написал наполовину компетентный программист, а в c: \ windows или c: \ windows \ system32 нет одного или двух файлов, которым нужен такой же доступ.
Спасибо за ответы, вот как я решил это:
C:\Windows\System32\schtasks.exe /run /tn "Name of task"
Единственным недостатком этого является то, что мне нужно создать отдельную задачу для каждого пользователя, но я думаю, что это работает нормально.
Спасибо всем.
Единственным недостатком этого является то, что мне нужно создать отдельную задачу для каждого пользователя, но я думаю, что это работает нормально.
Почему бы не создать «прикладного пользователя» - он будет использоваться только для выполнения задачи и PW для которого известен только вам.
Таким образом, вам не нужно создавать отдельную задачу для каждого пользователя и в то же время предоставлять этому пользователю права администратора для приложения.
В Windows нет концепции «setuid» из UNIX. На самом деле есть только два способа добраться туда, где вы хотите:
Первый вариант - выполнить сценарий типа «запуск от имени», когда вошедший в систему пользователь должен иметь соответствующий пароль для пользователя с повышенными правами. Другой - написать «вспомогательную» службу, которая запускается с правами администратора (как обычно делают службы), которая затем предоставит пользователю повышенные привилегии для этого процесса.
Я немного не уверен в деталях этого второго варианта, но я видел его раньше в компании, где я работал.