Skip to content

ROOT still uses hard-coded open mode flags, overriding umask and ACL settings #20470

@eflumerf

Description

@eflumerf

Check duplicate issues.

  • Checked for duplicates

Description

For the Mu2e experiment's DAQ, we would like to write data as one user and have another user responsible for transferring the data files to offline storage. We set up a dropbox on our data disk, but consistently found the files were unreadable by the file transfer user. Eventually, we found this forum post which describes the exact issue we are having. Looking further, I found that TFile still uses the hard-coded file mode 0644.

Reproducer

mkdir test
setfacl -d -m user::rwx test
setfacl -d -m mask::rwx test
cd test

Then, in ROOT, make a file:

TFile f("bar.root","recreate")
f.Close()

Finally, observe the file ACLs on "bar.root":

getfacl bar.root

ROOT version

   ------------------------------------------------------------------
  | Welcome to ROOT 6.30/06                        https://root.cern |
  | (c) 1995-2024, The ROOT Team; conception: R. Brun, F. Rademakers |
  | Built for linuxx8664gcc on Apr 01 2025, 22:52:29                 |
  | From heads/master@tags/v6-30-06                                  |
  | With g++ (Spack GCC) 13.1.0                                      |
  | Try '.help'/'.?', '.demo', '.license', '.credits', '.quit'/'.q'  |
   ------------------------------------------------------------------

Note that the TFile.cxx code browser at master still has this issue, e.g. https://root.cern.ch/doc/master/TFile_8cxx_source.html#l02261

Installation method

Spack

Operating system

Linux

Additional context

No response

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions