MM-67335 Fix export files having mismatched permissions (#35182) (10.11) (#35248)

Automatic Merge
Этот коммит содержится в:
Harrison Healey
2026-02-13 04:39:35 -05:00
коммит произвёл GitHub
родитель 23eb77c102
Коммит f000a183fc
2 изменённых файлов: 16 добавлений и 2 удалений

Просмотреть файл

@@ -257,9 +257,14 @@ func downloadFile(path string, downloadFn func(*os.File) (string, error), retrie
return "", fmt.Errorf("%s file already exists", fileType)
case err != nil:
// file does not exist, we create it
outFile, err = os.Create(path)
outFile, err = os.OpenFile(path, os.O_WRONLY|os.O_CREATE, 0600)
default:
// no error, file exists, we open it
// no error, file exists, we double check the permissions and then open it
permErr := os.Chmod(path, 0600)
if permErr != nil {
return "", fmt.Errorf("failed to change permissions on output file: %w", permErr)
}
outFile, err = os.OpenFile(path, os.O_WRONLY, 0600)
}

Просмотреть файл

@@ -5,6 +5,7 @@ package commands
import (
"fmt"
"io/fs"
"os"
"path/filepath"
"strings"
@@ -256,6 +257,10 @@ func (s *MmctlE2ETestSuite) TestExportDownloadCmdF() {
s.Require().Len(printer.GetLines(), 1)
s.Require().True(strings.HasPrefix(printer.GetLines()[0].(string), "Export file downloaded to "))
s.Require().Empty(printer.GetErrorLines())
info, err := os.Stat(downloadPath)
s.Require().Nil(err)
s.Require().Equal(fs.FileMode(0600), info.Mode().Perm(), fmt.Sprintf("expected %o, got %o", fs.FileMode(0600), info.Mode().Perm()))
})
s.RunForSystemAdminAndLocal("MM-T3842 - full download", func(c client.Client) {
@@ -285,6 +290,10 @@ func (s *MmctlE2ETestSuite) TestExportDownloadCmdF() {
s.Require().Nil(err)
s.Require().Equal(expected, actual)
info, err := os.Stat(downloadPath)
s.Require().Nil(err)
s.Require().Equal(fs.FileMode(0600), info.Mode().Perm(), fmt.Sprintf("expected %o, got %o", fs.FileMode(0600), info.Mode().Perm()))
})
}