Skip to content

Ubuntu で JupyterHub 用のローカルユーザを作成するスクリプト

JupyterHub で OS ローカルユーザを使う場合、「OS 上に複数のユーザを作成しておく」ことになります。 「ほぼ同じ設定のユーザを大量に作成する」のであれば、例えば以下のようなスクリプトを利用すると多少、ユーザ作成が楽になると思いますのでサンプルスクリプトをメモしておきます。

ユーザ作成用 シェルスクリプト

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/bin/bash

items=(
    "user1"
    "user2"
    "user3"
    "user4"
    "user5"
)

for item in "${items[@]}" ; do
    echo ${item}
    /usr/sbin/adduser ${item} --disabled-password --gecos ''
    /usr/bin/echo ${item}:'PASSWORD' | /usr/sbin/chpasswd
    /usr/bin/mkdir -p /home/${item}/notebook/
    /usr/bin/mkdir -p /home/${item}/.jupyter/lab/user-settings/@jupyterlab/apputils-extension/
    /usr/bin/cat << EOF > /home/${item}/.jupyter/lab/user-settings/@jupyterlab/apputils-extension/themes.jupyterlab-settings
{
    "theme": "JupyterLab Dark",
    "adaptive-theme": false,
    "preferred-light-theme": "JupyterLab Light",
    "preferred-dark-theme": "JupyterLab Dark",
    "theme-scrollbars": false,
    "overrides": {
        "code-font-family": null,
        "code-font-size": null,
        "content-font-family": null,
        "content-font-size1": null,
        "ui-font-family": null,
        "ui-font-size1": null
    }
}
EOF
    /usr/bin/chown -R ${item}:${item} /home/${item}
    /usr/bin/chmod -R 755 /home/${item}
done

JupyterHub の設定変更

JupyterHub では「ログインを許可するユーザを明示的に宣言する必要がある」ようですので、ユーザ作成後は JupyterHub の Authenticator.allowed_user 設定を更新するのを忘れないようにします。