From d59ace3792302bd342fa332fe23c646d01dd9418 Mon Sep 17 00:00:00 2001 From: xu yang Date: Fri, 27 Sep 2024 06:23:17 +0000 Subject: [PATCH 1/2] Change the permission of overlay dir to and generated overlays to Signed-off-by: xu yang --- CHANGELOG.md | 1 + internal/pkg/overlay/overlay.go | 2 +- internal/pkg/util/util.go | 3 +++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 10cc0ab5..9e02eb7b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -64,6 +64,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Interleave tmpfs across all available NUMA nodes. #1347, #1348 - Syncuser watches for changes in mtime rather than ctime. #1358 +- Change the default permissions for provisioned overlay images to `0750` (dirs) and `0660` (files). #1388 ### Fixed diff --git a/internal/pkg/overlay/overlay.go b/internal/pkg/overlay/overlay.go index 138b034e..0b4322fa 100644 --- a/internal/pkg/overlay/overlay.go +++ b/internal/pkg/overlay/overlay.go @@ -136,7 +136,7 @@ func BuildOverlay(nodeInfo node.NodeInfo, context string, overlayNames []string) overlayImage := OverlayImage(nodeInfo.Id.Get(), context, overlayNames) overlayImageDir := path.Dir(overlayImage) - err := os.MkdirAll(overlayImageDir, 0755) + err := os.MkdirAll(overlayImageDir, 0750) if err != nil { return errors.Wrapf(err, "Failed to create directory for %s: %s", name, overlayImageDir) } diff --git a/internal/pkg/util/util.go b/internal/pkg/util/util.go index 60266d93..830f5a8a 100644 --- a/internal/pkg/util/util.go +++ b/internal/pkg/util/util.go @@ -543,6 +543,9 @@ func CpioCreate( args = append(args, cpio_args...) + oldMask := syscall.Umask(007) + defer syscall.Umask(oldMask) + proc := exec.Command("cpio", args...) stdin, err := proc.StdinPipe() From e9d3ad717cb62fa8eb587b784568f9afbf64e957 Mon Sep 17 00:00:00 2001 From: Jonathon Anderson Date: Fri, 27 Sep 2024 11:51:18 -0600 Subject: [PATCH 2/2] Move umasking for overlay images to wwctl Signed-off-by: Jonathon Anderson --- internal/app/wwctl/overlay/build/main.go | 4 ++++ internal/pkg/util/util.go | 3 --- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/internal/app/wwctl/overlay/build/main.go b/internal/app/wwctl/overlay/build/main.go index c44b30ef..3f155350 100644 --- a/internal/app/wwctl/overlay/build/main.go +++ b/internal/app/wwctl/overlay/build/main.go @@ -5,6 +5,7 @@ import ( "fmt" "os" "strings" + "syscall" "github.com/spf13/cobra" warewulfconf "github.com/warewulf/warewulf/internal/pkg/config" @@ -83,6 +84,9 @@ func CobraRunE(cmd *cobra.Command, args []string) error { } if BuildNodes || (!BuildHost && !BuildNodes) { + oldMask := syscall.Umask(007) + defer syscall.Umask(oldMask) + if len(OverlayNames) > 0 { err = overlay.BuildSpecificOverlays(nodes, OverlayNames) } else { diff --git a/internal/pkg/util/util.go b/internal/pkg/util/util.go index 830f5a8a..60266d93 100644 --- a/internal/pkg/util/util.go +++ b/internal/pkg/util/util.go @@ -543,9 +543,6 @@ func CpioCreate( args = append(args, cpio_args...) - oldMask := syscall.Umask(007) - defer syscall.Umask(oldMask) - proc := exec.Command("cpio", args...) stdin, err := proc.StdinPipe()