使用 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
  1. /opt/wakari/wakari-server/etc/wakari/wk-server-config.json使用 PAM 身份验证方法更新配置文件。更改该行的条目"accounts":
"accounts": "wk_server.plugins.accounts.pam",
  1. 重启 wakari 服务器:
sudo service wakari-server start
  1. 在您的浏览器中导航到 Anaconda Enterprise Notebooks 并尝试以基于 PAM 的用户身份登录 - 创建并启动一个项目,然后打开一个 Jupyter Notebook。
  2. 注销然后以管理员身份登录并转到管理员视图。尝试列出用户。

测试

您可以直接从 Python CLI 测试 PAM

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

故障排除

如果服务器为 pam 模块抛出一个,请确保该模块已安装。如果文件包含频道,则将自动安装。import errorpython-pam==1.8.2.condarcwakaripython-pam==1.8.2