Skip to content
This repository was archived by the owner on Mar 11, 2020. It is now read-only.

Commit d6bd5e5

Browse files
authored
Merge pull request #49 from sixeyed/master
Change ownership to app pool user for copied files
2 parents 1e19ec1 + e06b295 commit d6bd5e5

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

Functions/Private/Artifacts/IIS/Generate_IIS.ps1

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ function IncludePath([string[]] $pathParts) {
4141

4242
function ProcessDirectory([System.Text.StringBuilder] $DirectoryBuilder,
4343
[System.Text.StringBuilder] $CopyBuilder,
44+
[System.Text.StringBuilder] $AclBuilder,
4445
[string] $SourcePath,
4546
[bool] $FirstDirectory) {
4647
Write-Verbose "Processing source directory: $SourcePath"
@@ -56,6 +57,12 @@ function ProcessDirectory([System.Text.StringBuilder] $DirectoryBuilder,
5657
$copy = 'COPY ["{0}", "{1}"]' -f (Split-Path $SourcePath -Leaf),($targetPath -Replace "\\","/")
5758
$null = $CopyBuilder.AppendLine($copy)
5859

60+
$null = $AclBuilder.AppendLine('RUN $path=' + "'C:$targetPath'; ``")
61+
$null = $AclBuilder.AppendLine(' $acl = Get-Acl $path; `')
62+
$null = $AclBuilder.AppendLine(' $newOwner = [System.Security.Principal.NTAccount](''BUILTIN\IIS_IUSRS''); `')
63+
$null = $AclBuilder.AppendLine(' $acl.SetOwner($newOwner); `')
64+
$null = $AclBuilder.AppendLine(' dir -r $path | Set-Acl -aclobject $acl')
65+
5966
$fullSourcePath = $SourcePath
6067
if ($global:SourceType -eq [SourceType]::Image -or
6168
$global:SourceType -eq [SourceType]::Remote) {
@@ -127,7 +134,8 @@ if ($Artifact.Status -eq 'Present') {
127134
# process the main site path
128135
$DirectoryBuilder = New-Object System.Text.StringBuilder
129136
$CopyBuilder = New-Object System.Text.StringBuilder
130-
ProcessDirectory -DirectoryBuilder $DirectoryBuilder -CopyBuilder $CopyBuilder -SourcePath $mainVirtualDir.PhysicalPath -FirstDirectory $true
137+
$AclBuilder = New-Object System.Text.StringBuilder
138+
ProcessDirectory -DirectoryBuilder $DirectoryBuilder -CopyBuilder $CopyBuilder -AclBuilder $AclBuilder -SourcePath $mainVirtualDir.PhysicalPath -FirstDirectory $true
131139

132140
# creating the website creates the default app & vdir underneath it
133141
$sourcePath = $mainVirtualDir.PhysicalPath
@@ -200,6 +208,9 @@ if ($Artifact.Status -eq 'Present') {
200208

201209
$null = $ResultBuilder.AppendLine($CopyBuilder.ToString().Trim().TrimEnd('``'))
202210
$null = $ResultBuilder.AppendLine('')
211+
212+
$null = $ResultBuilder.AppendLine($AclBuilder.ToString().Trim().TrimEnd('``'))
213+
$null = $ResultBuilder.AppendLine('')
203214
}
204215
}
205216

Image2Docker.psd1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
RootModule = 'Image2Docker.psm1'
1313

1414
# Version number of this module.
15-
ModuleVersion = '1.8.1'
15+
ModuleVersion = '1.8.2'
1616

1717
# Supported PSEditions
1818
### NOTE: This module will not work with PowerShell Core.

0 commit comments

Comments
 (0)