Однопользовательские записные книжки берут свою конфигурацию из /etc/jupyter/jupyter_notebook_config.py
(примечание: этот файл находится в контейнере Docker, а не в хост-ОС).
Последними строками этого файла конфигурации являются следующие:
# Change default umask for all subprocesses of the notebook server if set in
# the environment
if 'NB_UMASK' in os.environ:
os.umask(int(os.environ['NB_UMASK'], 8))
Таким образом, мы можем установить переменную среды NB_UMASK
, чтобы установить значение umask по умолчанию для пользователя ноутбука.
Мы можем установить это в файле конфигурации Jupyter Hub в операционной системе хоста.,В /etc/jupyterhub/jupyterhub_config.py
добавьте или настройте c.SystemUserSpawner.environment
(или, возможно, просто c.Spawner.environment
, но я использую вариант SystemUserSpanwer
), чтобы включить:
c.SystemUserSpawner.environment = {'NB_UMASK': '0027'}
И эта строка должнабыть единственной вещью, чтобы установить umask во всей записной книжке.
Для справки, моя полная среда появления выглядит следующим образом:
c.SystemUserSpawner.environment = {'JUPYTER_ENABLE_LAB': '1', 'GRANT_SUDO': '1', 'NB_UMASK': '0027'}
Так что у меня есть лаборатория Jupyterсреды, и пользователи могут устанавливать дополнительное программное обеспечение внутри своего контейнера по мере необходимости (sudo apt install <something>
).