使用 PAM 进行身份验证#

要配置 AEN 以使用 PAM 进行身份验证,您需要预先部署 LDAP 并预先填充您的用户。使用 LDAP,pam 不需要读取 /etc/shadow,并且可以在没有 root 权限的情况下成功进行身份验证。

注意:linux 机器上的 PAM 需要绑定到 LDAP (pam_ldap)。您不能将 PAM 与本地 unix 帐户一起使用,因为 /etc/shadow 只有 root 用户可读,但 pam_ldap 可以针对 LDAP(非 root 用户)进行身份验证。

步骤#

  1. 停止 wakari 服务器

    sudo service wakari-server stop
    
  2. 使用 PAM 身份验证方法更新配置文件 /opt/wakari/wakari-server/etc/wakari/wk-server-config.json。将 "accounts": 行的条目更改为

    "accounts": "wk_server.plugins.accounts.pam",
    
  3. 重启 wakari 服务器

    sudo service wakari-server start
    
  4. 在浏览器中导航到 Anaconda Enterprise Notebooks 并尝试以基于 PAM 的用户身份登录 – 创建并启动一个项目,然后打开一个 Jupyter Notebook。

  5. 注销,然后以管理员身份登录并转到管理视图。尝试列出用户。

测试#

您可以直接从 Python CLI 测试 PAM

su - $AEN_USER/opt/wakari/wakari-server/bin/python
p = pam.pam()
p.authenticate("<username>", "<password>")
True

故障排除#

如果服务器为 pam 模块抛出 import error,请确保已安装 python-pam==1.8.2 模块。如果 .condarc 文件包含 wakari 通道,则将自动安装 python-pam==1.8.2