diff --git a/internal/clientcache/internal/daemon/server.go b/internal/clientcache/internal/daemon/server.go index 3f6b900b56..b9635bb39d 100644 --- a/internal/clientcache/internal/daemon/server.go +++ b/internal/clientcache/internal/daemon/server.go @@ -567,6 +567,20 @@ func defaultDbUrl(ctx context.Context, opt ...Option) (string, error) { return "", errors.Wrap(ctx, err, op) } fileName := filepath.Join(dotDir, dbFileName) + if _, err := os.Stat(fileName); err != nil { + if !errors.Is(err, os.ErrNotExist) { + return "", errors.Wrap(ctx, err, op) + } + file, err := os.OpenFile(fileName, os.O_WRONLY|os.O_CREATE, 0o600) + if err != nil { + return "", errors.Wrap(ctx, err, op) + } + defer file.Close() + } + err = os.Chmod(fileName, 0o600) + if err != nil { + return "", errors.Wrap(ctx, err, op) + } return fmt.Sprintf("%s%s", fileName, fkPragma), nil }