2016-02-15 15 views
12

Wir bauen derzeit eine Jupyterhub-Umgebung in einem Andock-Container und kämpfen mit freigegebenen Ordnern. Unser Ziel ist es, einen freigegebenen Ordner zu erstellen, der für alle Benutzer schreibbar ist.Gemeinsame, beschreibbare Ordner in Jupyterhub

In jedem Benutzerordner befindet sich ein symbolischer Link ~/shared zu /opt/shared. Der Zielordner hat die Berechtigungen 777 und gehört der Gruppe jupyter. Jeder Benutzer ist Mitglied der Gruppe jupyter. Wenn jedoch ein Benutzer eine Datei in dem freigegebenen Ordner erstellt, der mit seinem Konto in der Webanwendung angemeldet ist, werden die Berechtigungen auf 644 festgelegt. Daher kann kein anderer Benutzer die Datei bearbeiten.

Ich habe versucht, für jeden Benutzer der umask zu 000 in den /etc/profiles und die ~/.bashrc Dateien einzustellen. Jupiter scheint es jedoch zu ignorieren. Gibt es eine Möglichkeit, jupyter zu konfigurieren, um neue Dateien mit g+w Rechten als Standard zu erstellen? Ich möchte vermeiden, Zugriffskontrolllisten mit setfacl auf der Dateisystemebene einzurichten, weil es benutzerdefinierte Flags in der /etc/fstab erfordert.

+0

Große Frage! Hast du es geschafft, es zu lösen? Was passiert, wenn zwei verschiedene Benutzer versuchen würden, dieselbe Datei gleichzeitig zu bearbeiten? – Dror

Antwort

1
  1. Set eine Gruppe (dh jupyter in Ihrem Fall) zu freigegebenen Ordner chgrp jupyter /opt/shared
  2. die Gruppe in das Verzeichnis schreiben zulassen + Gruppe klebrig machen (neue Dateien mit dieser Gruppe erstellt statt primäre Gruppe des Benutzers) chmod g+ws /opt/shared
  3. Für jeden Benutzer ~/.jupyter/jupyter_notebook_config.py

mit folgendem Inhalt:

import os 
    os.umask(0o002) 

Neu erstellte Dateien können von der Gruppe beschreibbar sein.

+0

Wenn Sie keine Konfigurationsdatei für jeden Benutzer erstellen möchten, erstellen/verwenden Sie '/ etc/jupyter/jupyter_notebook_config.py', was für alle Jupyterhub-Benutzer gilt. –

Verwandte Themen