#author("2024-09-30T12:52:45+00:00","default:iseki","iseki") #author("2024-09-30T12:52:54+00:00","default:iseki","iseki") ** ADS(先端データ科学センター)メモ [#q0c3789a] *** ユーザ管理 [#a4b8b74c] - [[NSS]] でユーザ管理 #br *** [[JupyterHub]] [#k1dde0e7] - [[JupyterHub/DockerSpawner]] #br **** [[SystemUserSpawner>JupyterHub/SystemUserSpawner]] [#k9378a63] - jupyterhub_config.py でモジュールの拡張 -- ユーザ毎に違うボリュームをマウント可能. -- jupyter のDocker イメージの [[start.sh>JupyterHub/DockerSpawner/start.sh]] の改造.[[start.sh(改)>JupyterHub/DockerSpawner/start.sh-kai]] -- SystemUserSpawnerクラスを継承してホームディレクトリの処理./home/{groupname}/{username} - ユーザのグループ情報を反映(個人ユーザのディレクトリのマウント) -- passwd 情報は getent passwd を ssh で実行してファイルを作り,Webサーバ を中継して持ってくる --- [[NSS]] の [[nss-altfiles>NSS]] を使用してシステムに取り込む --- LDAP(AD) Server ----> 大学管理ホスト(getent passwd) <---- ''ローカル管理Webサーバ (ssh, webサーバ) ''----> 対象サーバ(wget, curl, nss: nss-altfiles) ---- 一年に一回でよろし. -- [[start.sh>JupyterHub/DockerSpawner/start.sh]] の改造.[[start.sh(改)>JupyterHub/DockerSpawner/start.sh-kai]] #br **** 認証モジュール [#xcf64160] - [[LDA認証モジュール>JupyterHub#n1c54d11]] -- Jupyterのログイン用 Ldapモジュールは ユーザバンドが可能.検索さえできれば,管理者のパスワードは不要. - [[LTI認証モジュール>JupyterHub#m4467ad6]] (Learning Tools Interoperability) -- Moodle との連携が可能. #br *** 課題 [#yed628e3] - %%ホームディレクトリの自動生成.(''Jupyterとの連携'')%% - 教材配布 -- ''グループ登録UI'' #br **** Group ID を元に任意のボリュームをマウント [#k5f5944c] - https://qiita.com/marufeuille/items/62e3a842f7a039c35aac -- グループID以外をキーにしても任意のボリュームをマウントできる.(ようにできる) #br **** 書き換えるファイル [#mc639a0c] - /usr/local/anaconda/envs/jupyterhub/lib/python3.8/site-packages/jupyterhub/spawner.py -- 継承を使えば不要. - /usr/local/anaconda/envs/jupyterhub/lib/python3.8/site-packages/dockerspawner/* -- /usr/local/anaconda/envs/jupyterhub/lib/python3.8/site-packages/dockerspawner/systemuserspawner.py --- 継承を使えば不要. -- /usr/local/anaconda/envs/jupyterhub/lib/python3.8/site-packages/dockerspawner/nsldockerspawner.py (追加) --- 新しく作る場合 - コンテナ内:/usr/local/bin/start.sh -- こいつの書き換えは必須! #br *** [[Moodle+JupyterHub]] に統合 [#l139818b] #br