diff mbox series

[bug#37405] Services: Check and modify gdm-password in pam-limits

Message ID 73e46631970b385218a1b067e545bd8e7ef21ddf.camel@gmail.com
State Accepted
Headers show
Series [bug#37405] Services: Check and modify gdm-password in pam-limits | expand

Commit Message

Jesse Gibbons Sept. 14, 2019, 11:10 p.m. UTC
Fixes bug #37380

Comments

Jesse Gibbons Sept. 19, 2019, 2:46 a.m. UTC | #1
ping
https://lists.gnu.org/archive/html/guix-patches/2019-09/msg00357.html
Jesse Gibbons Sept. 25, 2019, 3:47 p.m. UTC | #2
On Wed, 2019-09-18 at 20:46 -0600, Jesse Gibbons wrote:
> ping
> https://lists.gnu.org/archive/html/guix-patches/2019-09/msg00357.html
ping
Danny Milosavljevic Oct. 1, 2019, 11 p.m. UTC | #3
Hi,

thanks for the patch.

I'm not thrilled about that approach (arguably Guix already does it wrong
anyway).

But since the manual of pam_limits does describe that one should use it
like that, I have applied it as a stop-gap fix to guix master as
commit 0bf7d34d77ffca40be9e04586195054e9f2c7a13.

Long term, we should really make pam entries first class and show up in the
operating-system record--that's what they are FOR: to let the administrator
(and thus the organization) choose how they want to do user
authorization/session handling etc.  Why do we decide for them?

Bug report kept open for obvious reasons.
Jesse Gibbons Oct. 2, 2019, 2:53 p.m. UTC | #4
On Wed, 2019-10-02 at 01:00 +0200, Danny Milosavljevic wrote:
> Hi,
> 
> thanks for the patch.
> 
> I'm not thrilled about that approach (arguably Guix already does it wrong
> anyway).
I think you should start a thread on the guix-devel list expressing your
concerns, and we can discuss how to improve guix from there.
> 
> But since the manual of pam_limits does describe that one should use it
> like that, I have applied it as a stop-gap fix to guix master as
> commit 0bf7d34d77ffca40be9e04586195054e9f2c7a13.
Thanks!
> 
> Long term, we should really make pam entries first class and show up in
> the
> operating-system record--that's what they are FOR: to let the
> administrator
> (and thus the organization) choose how they want to do user
> authorization/session handling etc.
If PAM configurations should be up to the administrator, there should be
documentation to teach the administrator how to use them. The manual doesn't
say anything about how to use pam-services in operating-system, so I
submitted a bug report (bug #37583) requesting documentation.

> Why do we decide for them?
I think I agree with your point that if a non-default configuration is
desired, administrators should be able to  modify it, just like any other
part of the configuration. Ideally they can always opt-out of details they
don't want.

I do not agree that we are deciding for the admins. This is just like the
discussion about whether GuixSD should include the /usr/bin/env and /bin/sh
special files by default, except there isn't any documentation on how to
opt out of or extend the default PAM services.

There must be a default for every detail. If a detail is found practical
most of the time, I think it is good to either have it as a default (like
/usr/bin/sh) or have a ready example of how to implement it viewable from
the install environment (like what we do with desktop environments) so most
users don't have to look up how to add it. That does not negate the ability
of power users and administrators to opt out in the operating-system
configuration.

In the context of this patch, pam-limits is still opt-in. Perhaps a more
flexible fix would be to make the pam-limits-service-type accept an optional
list of strings identifying the configurations to create or modify to use
pam-limits, with the default being  %default-pam-limits-service-names
defined as '("login" "su") which could then be appended to %slim-pam-
service-names '("slim") or %gdm-pam-service-names '("gdm-password" ...). If
you or anyone else wants to implement that proposal and update the
documentation so admins will know how to configure it, feel free.

I hope I did not misunderstand your comments. We can discuss this and your
other concerns in a guix-devel thread.
diff mbox series

Patch

From 6a0ced2a9ce956071290ea8bba2a74f8c9c8e5f5 Mon Sep 17 00:00:00 2001
From: Jesse Gibbons <jgibbons2357+guix@gmail.com>
Date: Sat, 14 Sep 2019 16:35:39 -0600
Subject: [PATCH] Services: Check and modify gdm-password in pam-limits-service

---
 gnu/services/base.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 25716ef152..6ab7b110ec 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -1478,7 +1478,7 @@  information on the configuration file syntax."
                               (module "pam_limits.so")
                               (arguments '("conf=/etc/security/limits.conf")))))
              (if (member (pam-service-name pam)
-                         '("login" "su" "slim"))
+                         '("login" "su" "slim" "gdm-password"))
                  (pam-service
                   (inherit pam)
                   (session (cons pam-limits
-- 
2.23.0