2016-02-15 8 views
12

Attualmente stiamo creando un ambiente jupyterhub in un contenitore di finestra mobile e stiamo lottando con le cartelle condivise. Il nostro obiettivo è impostare una cartella condivisa che sia scrivibile per tutti gli utenti.Cartelle condivise e scrivibili in jupyterhub

Nella cartella Inizio di ogni utente è presente un collegamento simbolico ~/shared a /opt/shared. La cartella di destinazione ha le autorizzazioni 777 ed è di proprietà del gruppo jupyter. Ogni utente è membro del gruppo jupyter. Tuttavia, se un utente crea un file nella cartella condivisa connessa con il suo account nell'app Web, le autorizzazioni sono impostate su 644. Pertanto, nessun altro utente può modificare il file.

Ho cercato di impostare il umask per 000 nelle ei file /etc/profiles~/.bashrc per ogni utente. Tuttavia, Jupyter sembra ignorarlo. C'è la possibilità di configurare jupyter per creare nuovi file con i diritti g+w come predefiniti? Vorrei evitare di impostare gli elenchi di controllo degli accessi con setfacl a livello di file system perché richiede flag personalizzati nel /etc/fstab.

+0

Ottima domanda! Sei riuscito a risolverlo? Cosa succede se due utenti diversi provano a modificare lo stesso file nello stesso momento? – Dror

risposta

1
  1. Impostare un gruppo (ad esempio, jupyter nel tuo caso) alla cartella condivisa chgrp jupyter /opt/shared
  2. consentirà al Gruppo di scrivere a quella directory + fanno gruppo appiccicoso (i nuovi file vengono creati con questo gruppo, invece di gruppo primario dell'utente) chmod g+ws /opt/shared
  3. Per ogni utente di creare ~/.jupyter/jupyter_notebook_config.py

Con seguente contenuto:

import os 
    os.umask(0o002) 

I file appena creati saranno scrivibili dal gruppo.

+0

Se non si desidera creare un file di configurazione per ciascun utente, si crea/usa '/ etc/jupyter/jupyter_notebook_config.py', che si applica a tutti gli utenti di Jupyterhub. –