Skip to content

nixos/radicale: broken PAM auth plugin #394829

Description

@evyatark2

Nixpkgs version

  • Unstable (25.05)

Describe the bug

Radicale's PAM plugin is currently broken for several reasons:

  • python3.pkgs.pam is not installed as a dependency
  • The NixOS module doesn't install a new PAM module with the name radicale (although this might be the user's responsibility)
  • When the user installs the radicale PAM module using security.pam with unixAuth = true , Radicale still can't verify user passwords because:
    1. pam_unix.so uses the setuid() syscall which is restricted because of SystemCallFilter=[ ... "~@privileged" ... ]
    2. The process can't access /etc/shadow due to insufficient privileges (Can be fixed by using SupplementaryGroups=["shadow"]; (see the comment in https://github.com/Kozea/Radicale/blob/master/radicale/auth/pam.py)

Of course, changing these the way I proposed could be a security issue that I am not entirely familiar with. I just listed the things I did to make it work.

Steps to reproduce

Use services.radicale.auth.type = "pam"

Expected behaviour

See above

Screenshots

No response

Relevant log output

Additional context

No response

System metadata

  • system: "x86_64-linux"
  • host os: Linux 6.12.21, NixOS, 25.05 (Warbler), 25.05pre776537.52faf482a388
  • multi-user?: yes
  • sandbox: yes
  • version: nix-env (Nix) 2.24.13
  • channels(root): "nixos"
  • nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Notify maintainers

@dotlambda


Note for maintainers: Please tag this issue in your pull request description. (i.e. Resolves #ISSUE.)

I assert that this issue is relevant for Nixpkgs

Is this issue important to you?

Add a 👍 reaction to issues you find important.

Metadata

Metadata

Assignees

No one assigned

    Labels

    0.kind: bugSomething is broken6.topic: nixosIssues or PRs affecting NixOS modules, or package usability issues specific to NixOS

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions