1: 2021-07-10 (土) 17:22:21 iseki |
現: 2021-08-30 (月) 00:44:38 iseki |
- | ** ADS(メモ) [#q0c3789a] | + | ** ADS(先端データ科学センター)メモ [#q0c3789a] |
| | | |
- | *** Jupiter [#k1dde0e7] | + | *** ユーザ管理 [#a4b8b74c] |
- | + JupyterHub | + | - [[NSS]] でユーザ管理 |
- | -- | + | |
- | + Ldap ユーザバンド | + | |
- | + getent passwd を ssh で実行して,Web を中継して持ってくる | + | #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 |