diff options
author | Ludovic Courtès <ludo@gnu.org> | 2024-09-25 16:30:09 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2024-09-25 17:53:53 +0200 |
commit | f92151133da4b98f98e755ce0996e8be59acac72 (patch) | |
tree | f278ff6a4cf4c749b8a9d2aa01131d5d2e42af43 /gnu | |
parent | a1dc5ac832a106d46450961e78e7db3f83bf2bff (diff) | |
download | guix-f92151133da4b98f98e755ce0996e8be59acac72.tar guix-f92151133da4b98f98e755ce0996e8be59acac72.tar.gz |
services: cleanup: Reintroduce explicit ‘chmod’ calls.
This reverts commit e74d05db53fdf02956ccee0950896c6ca9f10573.
* gnu/services.scm (cleanup-gexp): Introduce explicit ‘chmod’ calls
after ‘mkdir’ calls.
* gnu/tests/base.scm (run-basic-test)[test]("permissions on /tmp"):
New test.
Reported-by: Hilton Chain <hako@ultrarare.space>
Change-Id: I1e14dbe52eac526d2ed4ec1dd9c6fd9036f96a63
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/services.scm | 7 | ||||
-rw-r--r-- | gnu/tests/base.scm | 4 |
2 files changed, 10 insertions, 1 deletions
diff --git a/gnu/services.scm b/gnu/services.scm index 9b7f2641b7..8a4002e072 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -665,9 +665,14 @@ information is missing, return the empty list (for channels) and possibly (delete-file-recursively "/var/run") (delete-file-recursively "/run") + ;; Note: The second argument to 'mkdir' is and'ed with umask, + ;; hence the 'chmod' calls. (mkdir "/tmp" #o1777) + (chmod "/tmp" #o1777) (mkdir "/var/run" #o755) - (mkdir "/run" #o755)))))) + (chmod "/var/run" #o755) + (mkdir "/run" #o755) + (chmod "/var/run" #o755)))))) (define cleanup-service-type ;; Service that cleans things up in /tmp and similar. diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm index 715b9036f9..e1a676ecd4 100644 --- a/gnu/tests/base.scm +++ b/gnu/tests/base.scm @@ -296,6 +296,10 @@ info --version") (operating-system-user-accounts os)))) (stat:perms (marionette-eval `(stat ,root-home) marionette)))) + (test-equal "permissions on /tmp" + #o1777 + (stat:perms (marionette-eval '(lstat "/tmp") marionette))) + (test-equal "ownership and permissions of /var/empty" '(0 0 #o555) (let ((st (marionette-eval `(stat "/var/empty") marionette))) |