#.net #webdeploy #microsoft-web-deploy
#.net #webdeploy #microsoft-web-deploy
Вопрос:
Как мне создать папку с помощью Microsoft web deploy? Кроме того, когда я создам эту папку, как мне установить для нее ACL?
Могу ли я сделать это при публикации в файловой системе с помощью Visual Studio? Или мне нужно опубликовать на сервере, на котором включена веб-служба управления IIS (WMSvc), чтобы иметь возможность устанавливать acl и создавать папки?
Ответ №1:
Публикация файловой системы из Visual Studio не будет устанавливать ACL, но вы можете сделать это с помощью Web Deploy. Чтобы автоматизировать процесс настройки ACL при публикации из Visual Studio или с помощью MSBuild для публикации, см. Это сообщение в блоге:
http://sedodream.com/2011/11/08/SettingFolderPermissionsOnWebPublish.aspx
Ответ №2:
Если вы используете поставщики contentPath или dirPath, каталог, указанный в исходном аргументе, будет создан на целевом компьютере, если он еще не существует. Если вы выберете поставщика contentPath, вы можете использовать его includeAcls=true
настройку для копирования списков управления доступом. Вот пример синтаксиса:
msdeploy -verb:sync -source:contentPath=c:inetpubwwwroot,includeAcls=true -dest:contentPath=c:inetpubwwwroot,computerName=Server1
Для правильной настройки разрешений необходимо использовать учетные записи домена или иметь локальные учетные записи с соответствующими идентификаторами SID как на исходном, так и на конечном компьютерах. Для получения более подробной информации см. Статью contentPath .
Если вы хотите установить разрешения для папки назначения отдельно, вы можете использовать поставщика SetACL. SetACL имеет такие настройки, как setAclUser и setAclAccess, которые обеспечивают более детальный контроль. Смотрите статью для получения более подробной информации, включая входы и выходы разрешений.