2016-02-15 6 views
12

В настоящее время мы создаем среду jupyterhub в контейнере докеров и боремся с общими папками. Наша цель - создать общую папку, доступную для записи для всех пользователей.Общие папки, доступные для записи в jupyterhub

В домашней папке каждого пользователя есть символическая ссылка ~/shared на номер /opt/shared. Целевая папка имеет разрешения 777 и принадлежит группе jupyter. Каждый пользователь является членом группы jupyter. Однако, если один пользователь создает файл в общей папке, зарегистрированной в своей учетной записи, в веб-приложение, разрешения устанавливаются на 644. Поэтому ни один другой пользователь не может редактировать файл.

Я попытался установить umask к 000 в /etc/profiles и ~/.bashrc файлов для каждого пользователя. Тем не менее, кажется, что jupyter игнорирует это. Есть ли возможность настроить jupyter для создания новых файлов с правами g+w по умолчанию? Я хотел бы избежать настройки списков контроля доступа с setfacl на уровне файловой системы, потому что для него требуются пользовательские флаги в /etc/fstab.

+0

Отличный вопрос! Удалось ли вам это решить? Что произойдет, если два разных пользователя попытаются одновременно отредактировать один и тот же файл? – Dror

ответ

1
  1. Установить группу (т.е. jupyter в вашем случае) к общей папке chgrp jupyter /opt/shared
  2. Разрешить группу писать в этот каталог + сделать группу липкой (новые файлы создаются с этой группой вместо основной группы пользователя) chmod g+ws /opt/shared
  3. Для каждого пользователя создать ~/.jupyter/jupyter_notebook_config.py

С следующего содержания:

import os 
    os.umask(0o002) 

Новые созданные файлы будут доступны для записи группой.

+0

Если вы не хотите создавать файл конфигурации для каждого пользователя, вы создаете/используете '/ etc/jupyter/jupyter_notebook_config.py', что относится ко всем пользователям Jupyterhub. –

Смежные вопросы