使用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. 更新配置文件 /opt/wakari/wakari-server/etc/wakari/wk-server-config.json 使用PAM认证方法。更改 "accounts": 行的条目为:

    "accounts": "wk_server.plugins.accounts.pam",
    
  3. 重新启动Wakari服务器:

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

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

测试#

您可以直接从Python CLI测试PAM

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

故障排除#

如果服务器抛出import error错误,请确保安装了python-pam==1.8.2模块。如果.condarc文件中包含wakari频道,那么python-pam==1.8.2将会自动安装。