浏览代码

Check if GID is already the group if so no need to chown

Laurence 2 年之前
父节点
当前提交
c7cef1773e
共有 1 个文件被更改,包括 7 次插入2 次删除
  1. 7 2
      cmd/crowdsec-cli/dashboard.go

+ 7 - 2
cmd/crowdsec-cli/dashboard.go

@@ -9,6 +9,7 @@ import (
 	"path/filepath"
 	"path/filepath"
 	"strconv"
 	"strconv"
 	"strings"
 	"strings"
+	"syscall"
 	"unicode"
 	"unicode"
 
 
 	"github.com/AlecAivazis/survey/v2"
 	"github.com/AlecAivazis/survey/v2"
@@ -400,8 +401,12 @@ func checkGroups(forceYes *bool) (*user.Group, error) {
 	if err != nil {
 	if err != nil {
 		return dockerGroup, fmt.Errorf("unable to convert group ID to int: %s", err)
 		return dockerGroup, fmt.Errorf("unable to convert group ID to int: %s", err)
 	}
 	}
-	if err := os.Chown(csConfig.DbConfig.DbPath, 0, intID); err != nil {
-		return dockerGroup, fmt.Errorf("unable to chown sqlite db file '%s': %s", csConfig.DbConfig.DbPath, err)
+	if stat, err := os.Stat(csConfig.DbConfig.DbPath); err == nil {
+		if uint32(intID) != stat.Sys().(*syscall.Stat_t).Gid {
+			if err := os.Chown(csConfig.DbConfig.DbPath, 0, intID); err != nil {
+				return dockerGroup, fmt.Errorf("unable to chown sqlite db file '%s': %s", csConfig.DbConfig.DbPath, err)
+			}
+		}
 	}
 	}
 	return dockerGroup, nil
 	return dockerGroup, nil
 }
 }