jupyterhub中共享的可写文件夹

Rud*_*udi 15 jupyter jupyter-notebook jupyterhub

我们目前正在docker容器中构建一个jupyterhub环境,并在共享文件夹中苦苦挣扎.我们的目标是为所有用户设置一个可写的共享文件夹.

在每个用户的主文件夹中有一个符号链接~/shared/opt/shared.目标文件夹具有权限777,并由组jupyter拥有.每个用户都是jupyter组的成员.但是,如果一个用户在使用其帐户登录到Web应用程序的共享文件夹中创建文件,则权限设置为644.因此,没有其他用户可以编辑该文件.

我试图设置umask000/etc/profiles~/.bashrc为每个用户的文件.然而,jupyter似乎忽略了它.是否有可能配置jupyter来创建g+w默认权限的新文件?我想避免setfacl在文件系统级别设置访问控制列表,因为它需要自定义标志/etc/fstab.

Mar*_*ert 5

  1. 将一个组(即您的情况下的jupyter)设置为共享文件夹 chgrp jupyter /opt/shared
  2. 允许该组写入该目录+使该组具有粘性(使用该组而不是用户的主要组创建新文件) chmod g+ws /opt/shared
  3. 为每个用户创建 ~/.jupyter/jupyter_notebook_config.py

具有以下内容:

  import os
  os.umask(0o002)
Run Code Online (Sandbox Code Playgroud)

新创建的文件将可由该组写入。

  • @Enfors:不,umask 通常以八进制而不是十六进制给出。有问题的值无关紧要(0o002 和 0x002 都只是 2),但是当您尝试设置 0x022 而不是 0o022 时会很重要。 (5认同)
  • 如果您不想为每个用户创建配置文件,请创建/使用适用于所有Jupyterhub用户的`/ etc / jupyter / jupyter_notebook_config.py`。 (2认同)