JupyterHub支援多使用者和ldap認證(2)

2021-09-02 22:28:13 字數 1693 閱讀 1544

1、安裝jupyterhub-ldapauthenticator

pip install jupyterhub-ldapauthenticator

c.jupyterhub.authenticator_class = 'ldapauthenticator.ldapauthenticator'

c.ldapauthenticator.server_address = '172.xx.xx.xx' #ldap伺服器位址

c.ldapauthenticator.server_port = 389 #ldap埠

c.ldapauthenticator.bind_dn_template = [ #template以實際為準

"uid=,ou=people,dc=xx,dc=xx",

]

3、修改ldapauthenticator.py檔案

(1)修改anaconda_home/lib/python3.6/site-packages/ldapauthenticator目錄下的ldapauthenticator.py檔案。

(2)在標頭檔案新增 import pwd,os

(3)在authenticate函式前面新增如下程式:

def system_user_exists(self, username):

"""check if the user exists on the system"""

try:

pwd.getpwnam(username)

except keyerror:

return false

else:

return true

def add_system_user(self, username, password):

"""create a new local unix user on the system.

tested to work on freebsd and linux, at least.

"""res = os.system('useradd %(name1)s -s /bin/nologin' % )

if res:

self.log.warn('user %s create failure' % username)

return false

res = os.system('echo %(pass)s |passwd --stdin %(name1)s' % )

if res:

self.log.warn('user %s password create failure' % username)

return false

return true

(4)在authenticate函式裡面的 return username 前面新增如下程式即可:

if not self.system_user_exists(username):

res = self.add_system_user(username,password)

if not res:

return none

這樣在ldap認證通過以後如果本地沒有這個使用者,就會自動建立。但是這種做法在ldap刪除使用者以後無法自動刪除本地使用者,這也是jupyterhub官方不支援建立使用者的原因。

jupyterhub單伺服器多使用者模式安裝

首先安裝python3以上版本。執行以下命令 增加使用者用於登入 useradd hanks passwd hanks yum install git pip install git 執行以下命令生成配置檔案 jupyterhub generate config 修改配置檔案 增加白名單及管理員使用...

ceph 物件儲存支援多使用者

1.在配置檔案中新增物件儲存使用者,eg client.rgw.node rgw frontends civetweb port 7439 log file var log ceph test.rgw.log debug rgw 20 rgw gc obj min wait 10 rgw gc pr...

易語言「是否支援多使用者」命令詳解

檢查本支援庫所提供的資料庫功能是否支援多使用者同時對資料庫操作。如果支援,返回真,否則返回假。語法 邏輯型 是否支援多使用者 例程 說明 是否支援多使用者命令,是檢查當前的資料庫,是否支援多使用者同時進行操作,在檢查數程式設計客棧據庫前,要先把待檢查的資料庫www.cppcns.com開啟,如果本資...