
Я пытаюсь запустить исполняемый файл (.exe) из локальной сети, не предоставляя пользователям доступ к содержимому самой папки локальной сети. Например:
1) Пользователь нажимает на ссылку в своем электронном письме на исполняемый файл в папке, например I:\Folder A\setup.exe
2) При нажатии на ссылку запускается установщик
3) Если пользователь попытается получить доступ к папке, например I:\Folder A\, ему будет отказано в просмотре содержимого папки, либо появится запрос, либо там ничего не будет показано.
Кто-нибудь знает, как это можно сделать. По сути, я просто хочу убедиться, что у пользователей есть только разрешения на выполнение setup.exe. Это для разрешений NTFS.
решение1
Если выДействительноДля этого выполните следующие действия (предполагается, что «Прошедшие проверку пользователи» имеют права на выполнение SETUP.EXE):
Проверьте, что папка не имеет имени "Authenticated Users" как имеющего какие-либо разрешения. Если это так, удалите их (либо удалив разрешение, напрямую заданное для этой папки, либо нарушив иерархию наследования и затем удалив назначенные разрешения).
Для самого файла SETUP.EXE установите разрешение «Прошедшие проверку пользователи — Чтение и выполнение».
Пользователи смогут запустить файл, если им известен путь к нему, но они не смогут получить доступ к папке.
Я предполагаю, что вашей программе SETUP понадобится доступ к другим файлам в этой папке, и она не будет работать, поскольку пользователь, выполняющий SETUP, не будет иметь доступа к другим файлам. (И вообще, почему пользователям разрешено устанавливать программное обеспечение на свои компьютеры? Они что, используют свои компьютеры каждый день с учетными записями «Администратор»… стыдно…)
решение2
Я не думаю, что это возможно. Если вам нужно зайти в папку, то достаточно разрешения на выполнение. Но для чтения файлов требуется разрешение на чтение. Чтобы запустить setup.exe, человек должен иметь возможность прочитать setup.exe (исполняемый код), для чего требуется разрешение на чтение папки.
решение3
Другой возможностью было бы обслуживать его из скрытого общего ресурса, например административного. Они обозначаются знаком $ после имени общего ресурса и не отображаются в локальной сети по умолчанию. Другими словами, вы должны знать, что он там есть, чтобы использовать его. Это своего рода безопасность неизвестностью, но это может послужить вашей цели.
решение4
Может быть, я сошел с ума, но разве нельзя просто удалить функцию «Список содержимого папки» для этой папки из их учетных записей?