Добавление IIS_IUSRS с возможностью записи в каталог программным образом

Я использую Delphi 10.2 Tokyo, и я хотел бы добавить права на запись для IIS_IUSRSпользователя в конкретный каталог.

Есть ли встроенные функции в Delphi, которые я могу использовать для этого?

Если нет, то какие функции API Win32 я должен использовать?

windows,delphi,winapi,file-permissions,delphi-10.2-tokyo,

2

Ответов: 1


3

Выполнение этого программно - это боль из-за сложности API-интерфейсов безопасности Windows. Это можно сделать - и я могу посоветовать, если это поможет, но есть более простой способ, и это нужно для того, чтобы развернуть icaclsи сделать, что делает тяжелый подъем вместо этого.

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

icacls MyFolder /grant IIS_IUSRS:(OI)(CI)F

Это дает «полный доступ» MyFolderвсем и всем, кто плавает в ней, и вы можете точно проверить, какое влияние это (или какая-то другая) команда действительно имела на вкладке «Безопасность» в окне «Свойства» для соответствующей папки в «Проводнике».

Другие, более мелкие разрешения возможны, здесь есть полезная статья:

Как предоставить пользователям доступ к каталогу с помощью командной строки в Windows?

Счастливый ACL twiddling.

окна, Дельфы, WinAPI, файл-разрешение, Дельфы-10,2-Токио,
Похожие вопросы