Skip to content

Commit fd0d1bb

Browse files
authored
Fix calling enroll from install. (#4746)
1 parent 1d8c7ac commit fd0d1bb

File tree

2 files changed

+9
-7
lines changed

2 files changed

+9
-7
lines changed

internal/pkg/agent/cmd/enroll_windows.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ func getFileOwnerFromCmd(cmd *cobra.Command) (utils.FileOwner, error) {
3232
if err != nil {
3333
return utils.FileOwner{}, err
3434
}
35-
ownership := utils.CurrentFileOwner()
35+
var ownership utils.FileOwner
3636
if userSID != nil {
3737
ownership.UID = userSID.String()
3838
}

internal/pkg/agent/perms/windows.go

+8-6
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ func FixPermissions(topPath string, opts ...OptFunc) error {
4242

4343
// user gets grant based on the mask
4444
var userSID *windows.SID
45-
if o.ownership.UID != "" {
45+
if o.mask&0700 != 0 && o.ownership.UID != "" {
4646
userSID, err = windows.StringToSid(o.ownership.UID)
4747
if err != nil {
4848
return fmt.Errorf("failed to get user %s: %w", o.ownership.UID, err)
@@ -52,7 +52,7 @@ func FixPermissions(topPath string, opts ...OptFunc) error {
5252

5353
// group gets grant based on the mask
5454
var groupSID *windows.SID
55-
if o.ownership.GID != "" {
55+
if o.mask&0070 != 0 && o.ownership.GID != "" {
5656
groupSID, err = windows.StringToSid(o.ownership.GID)
5757
if err != nil {
5858
return fmt.Errorf("failed to get group %s: %w", o.ownership.GID, err)
@@ -61,11 +61,13 @@ func FixPermissions(topPath string, opts ...OptFunc) error {
6161
}
6262

6363
// everyone gets grant based on the mask
64-
everyoneSID, err := windows.StringToSid(utils.EveryoneSID)
65-
if err != nil {
66-
return fmt.Errorf("failed to get Everyone SID: %w", err)
64+
if o.mask&0007 != 0 {
65+
everyoneSID, err := windows.StringToSid(utils.EveryoneSID)
66+
if err != nil {
67+
return fmt.Errorf("failed to get Everyone SID: %w", err)
68+
}
69+
grants = append(grants, acl.GrantSid(uint32(((o.mask&0007)<<29)|((o.mask&0002)<<15)), everyoneSID))
6770
}
68-
grants = append(grants, acl.GrantSid(uint32(((o.mask&0007)<<29)|((o.mask&0002)<<15)), everyoneSID))
6971

7072
// ownership can only be change to another user when running as Administrator
7173
isAdmin, err := utils.HasRoot()

0 commit comments

Comments
 (0)