Общие, записываемые папки в jupyterhub
В настоящее время мы создаем среду jupyterhub в контейнере докеров и боремся с общими папками. Наша цель - создать общую папку, доступную для записи всем пользователям.
В каждой домашней папке пользователя есть символическая ссылка ~/shared
to /opt/shared
. Целевая папка имеет разрешения 777
и принадлежит группе jupyter. Каждый пользователь является членом группы jupyter. Однако, если один пользователь создает файл в общей папке, зарегистрированной в своей учетной записи в веб-приложении, разрешения устанавливаются на 644
. Поэтому ни один другой пользователь не может редактировать файл.
Я попытался установить umask
в 000
в файлах /etc/profiles
и ~/.bashrc
для каждого пользователя. Тем не менее, кажется, что jupyter игнорирует это. Есть ли возможность настроить jupyter для создания новых файлов с правами g+w
по умолчанию? Я хотел бы избежать настройки списков управления доступом с помощью setfacl
на уровне файловой системы, потому что для него требуются пользовательские флаги в /etc/fstab
.
Ответы
Ответ 1
- Установите группу (т.е. jupyter в вашем случае) в общую папку
chgrp jupyter /opt/shared
- Разрешить группе писать в этот каталог + сделать группу липкой (новые файлы создаются с помощью этой группы вместо первичной группы пользователя)
chmod g+ws /opt/shared
- Для каждого пользователя создайте
~/.jupyter/jupyter_notebook_config.py
Со следующим содержанием:
import os
os.umask(0o002)
Новые созданные файлы будут доступны для записи группой.