bug-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#49771: conflicting pam-limits-service and pam-mount-service-type


From: muradm
Subject: bug#49771: conflicting pam-limits-service and pam-mount-service-type
Date: Thu, 29 Jul 2021 19:13:34 +0300
User-agent: mu4e 1.4.15; emacs 28.0.50


pam-limits-service and pam-mount-service-type are working when used only one of them. When both are present in list of (services, conflict hapens when guix system reconfigure is invoked. Digging the problem led to use of etc-service-type.

pam-limits-service defines /etc/security/limits.conf in gnu/services/base.scm:

(define pam-limits-service-type
 (let ((security-limits
;; Create /etc/security containing the provided "limits.conf" file.
        (lambda (limits-file)
          `(("security"
             ,(computed-file
               "security"
               #~(begin
                   (mkdir #$output)
                   (stat #$limits-file)
                   (symlink #$limits-file
                            (string-append #$output "/limits.conf"))))))))
       (pam-extension
        (lambda (pam)

Basically, it says to etc-service-type i need "security" under "/etc" and uses mkdir to create it.

pam-mount-service-type asks "security/pam_mount.conf.xml" from etc-service-type.

(define (pam-mount-etc-service config)
 `(("security/pam_mount.conf.xml"
    ,(make-pam-mount-configuration-file config))))

When both pam-mount-service-type and pam-limits-service are defined in (services ...), if pam-mount-service-type is before pam-limits, guix system reconfigure fails with "Permission denied", if pam-limits is before then it is "File exists".

I would suggest to fix gnu/services/base.scm so that pam-limits-services-type ask for "security/limits.conf" just like pam-mount-services-type does in order to avoid conflict.

Currently, both pam-limits-service and pam-mount-service-type are not usable at the same time.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]