unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#51442: Non-default umask when using guix system leads to wrong file permissions
@ 2021-10-27 15:24 Josselin Poiret via Bug reports for GNU Guix
  2021-10-29 19:10 ` Ludovic Courtès
  0 siblings, 1 reply; 3+ messages in thread
From: Josselin Poiret via Bug reports for GNU Guix @ 2021-10-27 15:24 UTC (permalink / raw)
  To: 51442

Hi,

As reported on IRC by wonko
(https://logs.guix.gnu.org/guix/2021-10-27.log#115445), when running
‘guix system’ under a different umask, some files are created with the
wrong permissions.  This can happen because ‘sudo’ does by default keeps
the umask it is running on (by ORing it with the default one, often
022).

I'm not sure what would be the best way to go about this, I suggest
checking if umask == #o022, and if not, print a warning and set it to
#o022, and only in ‘guix system’.

What do you think?

Best,
Josselin Poiret




^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#51442: Non-default umask when using guix system leads to wrong file permissions
  2021-10-27 15:24 bug#51442: Non-default umask when using guix system leads to wrong file permissions Josselin Poiret via Bug reports for GNU Guix
@ 2021-10-29 19:10 ` Ludovic Courtès
  2021-10-30 20:48   ` Josselin Poiret via Bug reports for GNU Guix
  0 siblings, 1 reply; 3+ messages in thread
From: Ludovic Courtès @ 2021-10-29 19:10 UTC (permalink / raw)
  To: Josselin Poiret; +Cc: 51442

[-- Attachment #1: Type: text/plain, Size: 781 bytes --]

Hi,

Josselin Poiret <dev@jpoiret.xyz> skribis:

> As reported on IRC by wonko
> (https://logs.guix.gnu.org/guix/2021-10-27.log#115445),

wonko mentions files in /etc (those are created by the activation
snippets).

> when running ‘guix system’ under a different umask, some files are
> created with the wrong permissions.  This can happen because ‘sudo’
> does by default keeps the umask it is running on (by ORing it with the
> default one, often 022).
>
> I'm not sure what would be the best way to go about this, I suggest
> checking if umask == #o022, and if not, print a warning and set it to
> #o022, and only in ‘guix system’.

Perhaps the best fix would be to set the umask explicitly before
activation snippets run, like so (untested):


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 669 bytes --]

diff --git a/gnu/services.scm b/gnu/services.scm
index 1655218f2d..b79436d3f3 100644
--- a/gnu/services.scm
+++ b/gnu/services.scm
@@ -617,6 +617,10 @@ (define actions
                       (use-modules (gnu build activation)
                                    (guix build utils))
 
+                      ;; Set the correct umask so files are created with the
+                      ;; expected permissions.
+                      (umask #o022)
+
                       ;; Make sure the user accounting database exists.  If it
                       ;; does not exist, 'setutxent' does not create it and
                       ;; thus there is no accounting at all.

[-- Attachment #3: Type: text/plain, Size: 30 bytes --]


WDYT?

Thanks,
Ludo’.

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* bug#51442: Non-default umask when using guix system leads to wrong file permissions
  2021-10-29 19:10 ` Ludovic Courtès
@ 2021-10-30 20:48   ` Josselin Poiret via Bug reports for GNU Guix
  0 siblings, 0 replies; 3+ messages in thread
From: Josselin Poiret via Bug reports for GNU Guix @ 2021-10-30 20:48 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 51442

Hi,

Ludovic Courtès <ludo@gnu.org> writes:
> Perhaps the best fix would be to set the umask explicitly before
> activation snippets run, like so (untested):
> [snip]
> WDYT?

I forgot about those too! I guess they're run in two different contexts:
once when `guix reconfigure` happens, and another one in the boot
script. This would work here, but not be nearly enough: in init, you
also have the populate-root-file-system procedure which will create many
directories without set permissions, and if they are created with a-r,
it will also cause havok (I think the first issue wonko reported was
about the directories not being readable).

I still think that the whole init/reconfigure commands should have their
umask set to #o022 as a sane default, even for future changes to them:
whatever they're touching is supposed to be "the system" itself and not
user files, so inherited user-set umasks shouldn't matter. It just feels
like we're trying to fight back against 'sudo' preserving things when it
shouldn't but alas.

Best,
Josselin Poiret




^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-10-30 20:49 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-27 15:24 bug#51442: Non-default umask when using guix system leads to wrong file permissions Josselin Poiret via Bug reports for GNU Guix
2021-10-29 19:10 ` Ludovic Courtès
2021-10-30 20:48   ` Josselin Poiret via Bug reports for GNU Guix

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).