使用 PAM 进行身份验证#
要配置 AEN 以使用 PAM 进行身份验证,您需要预先部署 LDAP 并预先填充您的用户。使用 LDAP,pam 不需要读取 /etc/shadow,并且可以在没有 root 权限的情况下成功进行身份验证。
注意:linux 机器上的 PAM 需要绑定到 LDAP (pam_ldap)。您不能将 PAM 与本地 unix 帐户一起使用,因为 /etc/shadow 只有 root 用户可读,但 pam_ldap 可以针对 LDAP(非 root 用户)进行身份验证。
步骤#
停止 wakari 服务器
sudo service wakari-server stop
使用 PAM 身份验证方法更新配置文件
/opt/wakari/wakari-server/etc/wakari/wk-server-config.json
。将"accounts":
行的条目更改为"accounts": "wk_server.plugins.accounts.pam",
重启 wakari 服务器
sudo service wakari-server start
在浏览器中导航到 Anaconda Enterprise Notebooks 并尝试以基于 PAM 的用户身份登录 – 创建并启动一个项目,然后打开一个 Jupyter Notebook。
注销,然后以管理员身份登录并转到管理视图。尝试列出用户。
测试#
您可以直接从 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
。