aboutsummaryrefslogtreecommitdiff
path: root/gnu/tests
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-03-08 22:48:04 +0100
committerLudovic Courtès <ludo@gnu.org>2019-03-08 23:21:59 +0100
commitd429878daf3e3eb21660ed80934b1d4b0603f6e1 (patch)
tree2bfdd0ed57745f37232202d9e709a7148c7ec0f2 /gnu/tests
parent74c2339fffcbbbc866c9c8f9a75a1aa8bb0a91dd (diff)
downloadgnu-guix-d429878daf3e3eb21660ed80934b1d4b0603f6e1.tar
gnu-guix-d429878daf3e3eb21660ed80934b1d4b0603f6e1.tar.gz
activation: Shared system home directories are now 555 and root-owned.
Fixes <https://bugs.gnu.org/34788>. Reported by Jack Hill <jackhill@jackhill.us>. Regression introduced by the combination of 8bb76f3d44c1f5ffec8011819494db306a51d801 and 0ae735bcc8ff7fdc89d67b492bdee9091ee19e86: /var/empty would be 700 and owned by one of the system accounts (thus inaccessible to others), and /var/run/dbus would be 700 as well, thereby preventing D-Bus clients from connecting to the daemon. * gnu/build/activation.scm (duplicates): New procedure. (activate-users+groups)[system-accounts]: New variable. Use it. Make shared system account home directories #o555 and root-owned. * gnu/services/dbus.scm (dbus-activation): Make /var/run/dbus #o755. * gnu/tests/base.scm (run-basic-test): Test the ownership and permissions of /var/empty.
Diffstat (limited to 'gnu/tests')
-rw-r--r--gnu/tests/base.scm6
1 files changed, 6 insertions, 0 deletions
diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm
index cc8b273c98..f9390ee8e4 100644
--- a/gnu/tests/base.scm
+++ b/gnu/tests/base.scm
@@ -258,6 +258,12 @@ info --version")
(operating-system-user-accounts os))))
(stat:perms (marionette-eval `(stat ,root-home) marionette))))
+ (test-equal "ownership and permissions of /var/empty"
+ '(0 0 #o555)
+ (let ((st (marionette-eval `(stat "/var/empty") marionette)))
+ (list (stat:uid st) (stat:gid st)
+ (stat:perms st))))
+
(test-equal "no extra home directories"
'()