services: sddm: Fix root login failure issue.

* gnu/services/sddm.scm (sdm-pam-service): Set uid from CONFIG.
(sdm-autologin-pam-service): Set uid from CONFIG.
(sdm-pam-services): Pass CONFIG to 'sddm-pam-service' and
'sddm-autologin-pam-service'.
* doc/guix.texi (X Window): Adjust 'minimum-uid' documentation.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Reza Alizadeh Majd 2019-05-21 17:51:09 +04:30 committed by Ludovic Courtès
parent 336674549d
commit ed90104cc8
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
2 changed files with 14 additions and 10 deletions

View File

@ -13623,11 +13623,11 @@ Directory to look for faces.
@item @code{default-path} (default "/run/current-system/profile/bin") @item @code{default-path} (default "/run/current-system/profile/bin")
Default PATH to use. Default PATH to use.
@item @code{minimum-uid} (default 1000) @item @code{minimum-uid} (default: 1000)
Minimum UID to display in SDDM. Minimum UID displayed in SDDM and allowed for log-in.
@item @code{maximum-uid} (default 2000) @item @code{maximum-uid} (default: 2000)
Maximum UID to display in SDDM Maximum UID to display in SDDM.
@item @code{remember-last-user?} (default #t) @item @code{remember-last-user?} (default #t)
Remember last user. Remember last user.

View File

@ -175,7 +175,7 @@ Relogin=" (if (sddm-configuration-relogin? config)
(define (sddm-etc-service config) (define (sddm-etc-service config)
(list `("sddm.conf" ,(sddm-configuration-file config)))) (list `("sddm.conf" ,(sddm-configuration-file config))))
(define (sddm-pam-service) (define (sddm-pam-service config)
"Return a PAM service for @command{sddm}." "Return a PAM service for @command{sddm}."
(pam-service (pam-service
(name "sddm") (name "sddm")
@ -190,7 +190,9 @@ Relogin=" (if (sddm-configuration-relogin? config)
(pam-entry (pam-entry
(control "required") (control "required")
(module "pam_succeed_if.so") (module "pam_succeed_if.so")
(arguments (list "uid >= 1000" "quiet"))) (arguments (list (string-append "uid >= "
(number->string (sddm-configuration-minimum-uid config)))
"quiet")))
;; should be factored out into system-auth ;; should be factored out into system-auth
(pam-entry (pam-entry
(control "required") (control "required")
@ -249,7 +251,7 @@ Relogin=" (if (sddm-configuration-relogin? config)
(control "required") (control "required")
(module "pam_unix.so")))))) (module "pam_unix.so"))))))
(define (sddm-autologin-pam-service) (define (sddm-autologin-pam-service config)
"Return a PAM service for @command{sddm-autologin}" "Return a PAM service for @command{sddm-autologin}"
(pam-service (pam-service
(name "sddm-autologin") (name "sddm-autologin")
@ -261,7 +263,9 @@ Relogin=" (if (sddm-configuration-relogin? config)
(pam-entry (pam-entry
(control "required") (control "required")
(module "pam_succeed_if.so") (module "pam_succeed_if.so")
(arguments (list "uid >= 1000" "quiet"))) (arguments (list (string-append "uid >= "
(number->string (sddm-configuration-minimum-uid config)))
"quiet")))
(pam-entry (pam-entry
(control "required") (control "required")
(module "pam_permit.so")))) (module "pam_permit.so"))))
@ -282,9 +286,9 @@ Relogin=" (if (sddm-configuration-relogin? config)
(module "sddm")))))) (module "sddm"))))))
(define (sddm-pam-services config) (define (sddm-pam-services config)
(list (sddm-pam-service) (list (sddm-pam-service config)
(sddm-greeter-pam-service) (sddm-greeter-pam-service)
(sddm-autologin-pam-service))) (sddm-autologin-pam-service config)))
(define %sddm-accounts (define %sddm-accounts
(list (user-group (name "sddm") (system? #t)) (list (user-group (name "sddm") (system? #t))