diff options
author | Tim Smith <tsmith@chef.io> | 2018-11-20 16:09:48 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-20 16:09:48 -0800 |
commit | 36ab6112fc5958e490841de1f068f4dde5be1a9f (patch) | |
tree | 3b922fd95c677bf15e4b0d5d35886774fe7dc3fd | |
parent | b56bbc573c5a4c320c50ee186dab6c6253f96027 (diff) | |
parent | 6b12ec7fb03cb9049f5461b7f72da0ad9e2df199 (diff) | |
download | chef-36ab6112fc5958e490841de1f068f4dde5be1a9f.tar.gz |
Merge pull request #7973 from chef/share_idem
Chef 14: windows_share: Fix idempotency by removing the "everyone" access
-rw-r--r-- | lib/chef/resource/windows_share.rb | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/chef/resource/windows_share.rb b/lib/chef/resource/windows_share.rb index fdfe44d8d8..0b245e8590 100644 --- a/lib/chef/resource/windows_share.rb +++ b/lib/chef/resource/windows_share.rb @@ -242,6 +242,10 @@ class Chef Chef::Log.debug("Running '#{share_cmd}' to create the share") powershell_out!(share_cmd) + + # New-SmbShare adds the "Everyone" user with read access no matter what so we need to remove it + # before we add our permissions + revoke_user_permissions(["Everyone"]) end # determine what users in the current state don't exist in the desired state @@ -297,6 +301,8 @@ class Chef false end + # revoke user permissions from a share + # @param [Array] users def revoke_user_permissions(users) revoke_command = "Revoke-SmbShareAccess -Name '#{new_resource.share_name}' -AccountName \"#{users.join('","')}\" -Force" Chef::Log.debug("Running '#{revoke_command}' to revoke share permissions") |