
Мы пытаемся заблокировать терминальный сервер и хотим лишить коммерческий пакет возможности принимать пути к файлам UNC, т. е. пути в приложении можно будет вводить только с использованием букв дисков Windows.
Есть ли способ сделать это в Windows?
Можно ли запретить UNC-пути только для приложения?
Можно ли запретить UNC-пути для всего сеанса сервера терминалов?
Цель состоит в том, чтобы разрешить приложению писать только в определенные каталоги (как отображено в сеансе сервера терминалов). Цель состоит в том, чтобы предотвратить вывод файлов в каталоги, к которым у пользователей есть доступ, но которые не отображены в сеансе сервера терминалов.
решение1
Внутренне (в коде Windows) буква диска — это не более чем оболочка для пути UNC. Это наводит меня на мысль, что то, о чем вы просите, невозможно.
решение2
Этот пост на форумепохоже, подразумевается, что настройка групповой политики«Удалить меню «Выполнить» из меню «Пуск»»отключает использование UNC-путей в приложениях, использующих общие диалоги для открытия и сохранения.
Однако я бы не советовал этого делать. Почти наверняка есть способы обойти эту политику, особенно если вы разрешаете выполнение произвольного кода.
решение3
Интересный вопрос. Я на 99% уверен, что ответ "нет", потому что я никогда с таким не сталкивался. Имена UNC более "фундаментальны", чем буквы сетевых дисков, поэтому я был бы очень удивлен, если бы их можно было отключить, или по крайней мере без некоторых хакерских ухищрений (например, путем помещения серверов в файл lmhosts с неправильным IP-адресом).
Способ управления доступом — списки контроля доступа (ACL) для общих ресурсов или каталогов, находящихся за общим ресурсом.
Дж.Р.
решение4
Лично я бы считал это вопросом политики, а не техническим вопросом. Что бы ни случилось "плохого", если пользователь пишет за пределами дисков, сопоставленных с сеансом, вам нужно информировать, просвещать и развлекать их о проблеме и не позволять им этого делать. Это не может быть катастрофой, если они это сделают, не так ли? Просто неудобно в какой-то степени?
Вы должны иметь возможность добавить групповую политику, которая применяется только к пользователю, когда он входит на терминальный сервер, и в которой вы каким-то образом соответствующим образом настраиваете разрешения.
Может быть, добавив терминальные серверы в группу, добавив эту группу с запрещенными разрешениями на рассматриваемые пути unc и включив обработку обратной петли для этой политики? Не уверен, что это точно сработает, без тестирования, но увы...
Попытка предотвратить что-либо путем удаления частей пользовательского интерфейса — в большинстве случаев плохая идея, поскольку ее слишком часто легко обойти, а UNC является основой сети Windows, поэтому удаление его поддержки будет означать удаление всех возможностей сетевых общих ресурсов/принтеров/адресации, включая домашние папки и прочее.