使用dockerspawner和LDAP Authenticator从jupyterhub产生的容器无法写入外部目录

时间:2019-08-07 06:53:35

标签: active-directory ldap jupyterhub

我尝试使用dockerspawner为用户创建jupyterhub映像。使用链接到活动目录的LDAP Authenticator完成身份验证。在SLES服务器中,可以使用活动目录身份验证来访问网络驱动器。

网络驱动器已安装到jupyterhub映像,用户可以看到它们。但是,该权限是只读的,我认为图像中的默认用户“ jovyan”不必具有编辑文件的权限。我想创建jupyterhub映像,以便默认情况下该映像将使用用户的凭据来访问外部驱动器。

我也尝试了SystemUserSpawner,它似乎没有用。首先,用户输入实际上是SAMAccountName,而不是实际用户名。其次,pwd模块似乎没有获得所需的用户ID。第三,更改用户ID似乎也没有授予写权限。

我正在使用的jupyterhub_config.py如下。安装的外部驱动器路径为/ mnt / ts。

import os
import types
c.JupyterHub.admin_access = True
c.JupyterHub.spawner_class = 'dockerspawner.DockerSpawner'
c.DockerSpawner.image = 'myhub_jupyterlab'
c.DockerSpawner.network_name = 'myhub_default'
c.DockerSpawner.notebook_dir = '/home/jovyan'
c.DockerSpawner.volumes = {
  'jupyterhub-users-{username}':'/home/jovyan/work',
  '/mnt/ts':'/home/jovyan/ts'
}
c.JupyterHub.hub_ip = os.environ['HUB_IP']
c.JupyterHub.authenticator_class = 'ldapauthenticator.LDAPAuthenticator'
c.LDAPAuthenticator.server_address='ldap://<IP_ADDRESS>'
c.LDAPAuthenticator.bind_dn_template = [
  'cn={username},cn=users,dc=<domain name>'
]
c.LDAPAuthenticator.lookup_dn = True
c.LDAPAuthenticator.user_attribute = 'sAMAccountName'
c.LDAPAuthenticator.user_search_base = 'dc=<domain name>'
c.LDAPAuthenticator.lookup_dn_user_dn_attribute = 'cn'
c.LDAPAuthenticator.lookup_dn_search_user = 'cn=<User Name>,cn=users,dc=<domain name>'
c.LDAPAuthenticator.lookup_dn_search_password = '<password>'
c.LDAPAuthenticator.escape_userdn = False
c.LDAPAuthenticator.user_lookup_dn_username = False
c.Spawner.default_url = '/lab'

0 个答案:

没有答案