[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#52454] [PATCH 3/4] services: postgresql: Ensure correct ownership o
From: |
Brice Waegeneire |
Subject: |
[bug#52454] [PATCH 3/4] services: postgresql: Ensure correct ownership of directory trees. |
Date: |
Sun, 12 Dec 2021 19:36:13 +0100 |
* gnu/services/databases.scm (postgresql-activation): Replace 'chown'
calls by 'lchown-recursive'.
---
gnu/services/databases.scm | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm
index 8e983ef0be..83f9fe5239 100644
--- a/gnu/services/databases.scm
+++ b/gnu/services/databases.scm
@@ -8,6 +8,7 @@
;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz>
+;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -214,8 +215,11 @@ (define postgresql-activation
(($ <postgresql-configuration> postgresql port locale config-file
log-directory data-directory
extension-packages)
- #~(begin
+ (with-imported-modules (source-module-closure
+ '((gnu build activation)))
+ #~(begin
(use-modules (guix build utils)
+ (gnu build activation)
(ice-9 match))
(let ((user (getpwnam "postgres"))
@@ -230,19 +234,19 @@ (define postgresql-activation
'()))))
;; Create db state directory.
(mkdir-p #$data-directory)
- (chown #$data-directory (passwd:uid user) (passwd:gid user))
+ (lchown-recursive #$data-directory (passwd:uid user) (passwd:gid
user))
;; Create the socket directory.
(let ((socket-directory
#$(postgresql-config-file-socket-directory config-file)))
(when (string? socket-directory)
(mkdir-p socket-directory)
- (chown socket-directory (passwd:uid user) (passwd:gid user))))
+ (lchown-recursive socket-directory (passwd:uid user)
(passwd:gid user))))
;; Create the log directory.
(when (string? #$log-directory)
(mkdir-p #$log-directory)
- (chown #$log-directory (passwd:uid user) (passwd:gid user)))
+ (lchown-recursive #$log-directory (passwd:uid user) (passwd:gid
user)))
;; Drop privileges and init state directory in a new
;; process. Wait for it to finish before proceeding.
@@ -262,7 +266,7 @@ (define postgresql-activation
initdb-args)))
(lambda ()
(primitive-exit 1))))
- (pid (waitpid pid))))))))
+ (pid (waitpid pid)))))))))
(define postgresql-shepherd-service
(match-lambda
--
2.34.0
- [bug#52454] [PATCH 0/4] Ensure correct ownership of directory trees in services.Hello Guix,, Brice Waegeneire, 2021/12/12
- [bug#52454] [PATCH 1/4] syscalls: Add 'lchown'., Brice Waegeneire, 2021/12/12
- [bug#52454] [PATCH 0/4] Ensure correct ownership of directory trees in services.Hello Guix,, Ludovic Courtès, 2021/12/18
- [bug#52454] [PATCH v2 0/4] Ensure correct ownership of directory trees in services, Brice Waegeneire, 2021/12/21
- [bug#52712] [PATCH v2 4/4] services: cuirass: Ensure correct ownership of directory trees., Brice Waegeneire, 2021/12/21
- [bug#52713] [PATCH v2 2/4] activation: Add 'lchown-recursive'., Brice Waegeneire, 2021/12/21
- [bug#52714] [PATCH v2 3/4] services: postgresql: Ensure correct ownership of directory trees., Brice Waegeneire, 2021/12/21
- [bug#52715] [PATCH v2 1/4] syscalls: Add 'lchown'., Brice Waegeneire, 2021/12/21
- [bug#52454] [PATCH 2/4] activation: Add 'lchown-recursive'., Brice Waegeneire, 2021/12/12
- [bug#52454] [PATCH 4/4] services: cuirass: Ensure correct ownership of directory trees., Brice Waegeneire, 2021/12/12
- [bug#52454] [PATCH 3/4] services: postgresql: Ensure correct ownership of directory trees.,
Brice Waegeneire <=