#920566 ITP: radicale-auth-pam -- PAM authentication plugin for Radicale

Package:
wnpp
Source:
wnpp
Submitter:
"Joseph Nahmias"
Date:
2025-11-29 16:42:52 UTC
Severity:
wishlist
#920566#5
Date:
2019-01-27 02:48:50 UTC
From:
To:
* Package name    : radicale-auth-pam
  Version         : 0.2
  Upstream Author : Joseph Nahmias <joe@nahmias.net>
* URL             : https://gitlab.com/jello/radicale_auth_PAM
* License         : GPL3
  Programming Lang: Python
  Description     : PAM authentication plugin for Radicale

#920566#10
Date:
2019-01-27 12:59:05 UTC
From:
To:
Quoting Joseph Nahmias (2019-01-27 03:48:50)

Are you aware that Radicale can already use PAM,
by use of uWSGI and the Apache2 mod-authnz-external module?

The Debian package suggests this approach,
and provides snippets for setting up PAM that way.

I notice that you are upstream author of this plugin,
so I guess you are biased towards using your own implementation.
May I suggest that at least you mention in long description
how access to sensitive material is handled?

For inspiration, libapache2-mod-authnz-external contains this:

Mentioning in long description how security is addressed will help users
decide which approach to take.


 - Jonas

#920566#15
Date:
2019-01-28 00:42:32 UTC
From:
To:
Hello Jonas,

Well, I must confess that I did not thoroughly read that documentation
since it mostly revolved around configuring Apache.  I'm not using WSGI
or a reverse proxy, so I didn't try to solve the problem of
authenticating with PAM in that manner.

Not really, I primarily just wrote it to scratch my own itch when I
couldn't find a PAM auth plugin and decided to share it with the world.
  Also, it was my first foray into Python, so I used it as a learning
experience secondarily.

So this is interesting feedback.  In my docs, I mention that if PAM is
using standard Unix passwd/shadow then the radicale user will need to be
added to the shadow group.

My understanding is that pwauth is setuid in order to access
/etc/shadow; but the process separation would be a security benefit if
pwauth is sufficiently small / auditable.

Obviously, if not using passwd/shadow then this concern doesn't apply.

Perhaps I will write a radicale-auth-PAM-pwauth plugin that calls pwauth
to get the security benefit without needing apache.

I appreciate the comments and review!

#920566#20
Date:
2019-01-28 08:36:32 UTC
From:
To:
Quoting Joe Nahmias (2019-01-28 01:42:32)

Fair enough, I guess.

Avoiding the server-side hassle of using a reverse proxy would instead
require either a) the client-side hassle of getting it to accept a
non-standard port number, or b) running the whole daemon as root with
the security implications that involve.

Either of those options might be valid for some scenarios - e.g.
single-user setup in a controlled environment.

Well, good luck with it!

That sounds like a valuable improvement.  Thanks for considering!


 - Jonas