Partizione condivisa

Buona sera a tutti,

mi è stato chiesto di preparare un pc con una partizione condivisa per
tutti gli utenti. pc con Linux Mint 18.2 XCFE 64 bit con tre utenze
(Pino, Francesca e Valentina (amministratice)

Ciò che ho fatto:

1. In fase di installazione dell'SO ho creato una partizione primaria
Ext4 chiamata Dati

2. ho assegnato i diritti agli utenti con il comando sudo chmod -R
/media/Dati

3. con sudo blkid ho ricavato l'UUID della partizione Dati
/dev/sda3: LABEL="Dati" UUID="68c7f1db-1e4b-43c7-b741-79a7a950eea1"
TYPE="ext4" PARTUUID="c79e6147-03"

4. ho modificato, sempre come amministratore, il file /etc/fstab
aggiungendo la riga
UUID=68c7f1db-1e4b-43c7-b741-79a7a950eea1 /media/Dati ext4 defaults 0 2

5. riavviato il computer

Risultato:
Tutti gli utenti accedono alla partizione Dati, tutti possono creare
file e cartelle, tutti possono modificare e cancellare cartelle e file
ma solo quelli creati da loro.

Esempio se Valentina crea un file, Pino e Francesca possono vederlo ma
non modificarlo. Avrei bisogno che tutti possano modificare file e
cartelle anche non creati da loro.

Come posso risolvere questo problema dei permessi?

Grazie

saluti

andrea

2. ho assegnato i diritti agli utenti con il comando sudo chmod -R
/media/Dati

Qui manca qualcosa tra -R e /media/Dati...
Cosi` da` errore.

Risultato:
Tutti gli utenti accedono alla partizione Dati, tutti possono creare
file e cartelle, tutti possono modificare e cancellare cartelle e file
ma solo quelli creati da loro.

Esempio se Valentina crea un file, Pino e Francesca possono vederlo ma
non modificarlo. Avrei bisogno che tutti possano modificare file e
cartelle anche non creati da loro.

Come posso risolvere questo problema dei permessi?

Dovresti mettere gli utenti nello stesso gruppo (stesso ID!) e dare
la cartella a quel gruppo:

   chown -R :gruppo_condiviso /media/Dati

Poi dare il diritto di scrittura a quel gruppo e settare il set-group-id bit:

   chmod -R 2770 /media/Dati

Il set-group-id e` quel "2" davanti: fa si` che ogni cosa creato in
/media/Dati avra` come proprietario "gruppo_condiviso" e non il gruppo
primario del rispettivo utente - ovviamente se ogni utente ha gia`
"gruppo_condiviso" come gruppo primario, il set-group-id non serve.

Infine dovresti assicurarsi che nessuno degli utenti ha un umask troppo
ristretta. Puoi vedere l'umask con il comando umask. Se e` 0002 va bene,
se e` 0022 e` troppo stretto (perche` maschera il bit del write del gruppo).
In quel caso rendilo 0002. Puoi farlo system-wide in /etc/login.defs. Li`
sono indicati solo le ultime tre cifre, quindi diventa:

   UMASK 002

Occhio che questo rende tutti i file creati di default scrivibile al gruppo,
per tutti gli utenti. Su una installazione Desktop non vedo nessun problema
a fare cio`, se si blindano le $HOME, i.e.

   chmod 700 /home/*

Un'alternativa potrebbe essere usare un filesystem senza permessi o uno
che ti permette di specificare una umask a livello di opzione mount in
/etc/fstab, ma non e` il caso di ext4.

Bye,
Chris.

Ciao Chris,

grazie per la risposta.

Si hai ragione, nella mail non ho scritto il comando chmod
correttamente, in realtà avevo dato il chmod -R 777 /media/Dati

Ho pensato al filesystem senza permessi e ho optato per un FAT32
pensando anche ad un dualboot win/linux con una partizione condivisa

Descrivo ciò che ho fatto per chi ne avesse bisogno.

Creata la partizione Dati con filesystem FAT32 le ho dato i permessi
chmod -R 777 /media/Dati

Con blkid ho ricavato l'UUID che ho usato per aggiungere nel file
/etc/fstab la seguente riga

UUID=71BC-300C /media/Dati vfat iocharset=utf8,umask=000 0 0

e tutto funziona correttamente.

Su una macchina virtuale proverò ciò che mi hai descritto per i
filesystem ext4

Grazie ancora.

ciao ciao

andrea

Ciao Andrea.
Fat32 resta comunque deboluccio (no journaling, quindi praticamente no
recovery in caso di crash anche solo perchè manca la corrente) e limitato
nella dimensione dei file e anche nel numero. Per una applicazione non
proprio semplice sceglierei diversamente. Se il problema è un dual-boot con
Win (...) opterei comunque per NTFS.

diego

attachment.htm (4.81 KB)

Ciao a tutti,

l'obiettivo di far condividere una partizione fra più utenti l'ho
risolta parzialmente. Cioè l'utente A crea una cartella o un file e
l'utente B può modificare ciò che A a fatto. Con una partizione FAT32 ci
sono riuscito ma, con ext4 ho ancora problemi, riassumo ciò che ho fatto:

1. La partizione ext4 da condividere l'ho chiamata Dati.

2. con umask ho controllato che ogni utente avesse 002 e per ogni utente
il terminale mi risponde 002.

3. con blkid ho ricavato l'UUID della partizione Dati

4. con sudo xed /etc/fstab ho modificato il file per montare la
partizione automaticamente aggiungendo la riga
UUID=68c7f1db-1e4b-43c7-b741-79a7a950eea1 /media/Dati ext4
noatime,defaults 0 0

5. ho creato il gruppo hd-condiviso

6. ho assegnato ogni utente al gruppo hd-condiviso

6. sudo chown -R :hd-condiviso /media/Dati

7. sudo chmod -R 2770 /media/Dati

Risultato:
Tutti gli utente accedono alla partizione Dati
Tutti gli utente possono creare, modificare e cancellare file e cartelle
Tutti gli utente possono aprire file e cartelle degli altri utenti

Nessuno può modificare ciò che un altro utente a creato.

Come faccio a cambiare questa situazione? Cioè che l'utente A possa
modificare ciò che B ha creato?

Ciao e grazie

andrea

Ciao,
         visto che hai creato un gruppo ad-hoc per gli utenti e che hai
messo un setgid al gruppo suggerirei un umask di 0006 per gli utenti,
in modo che creino file lwggibili e scrivibili solo dal proprietario e
dal gruppo.

Per quanto riguarda invece il fatto di poter modificare i file altrui
credo dipenda anche da quale programma viene utilizzato per crearli.
Banalmente se provi a creare un file con il comando touch , poi riesci a
scriverci o cancellarlo da un altro utente?
Io avevo riscontrato un problema con Libreoffice che creava file di
proprieta' dell'utente indipendentemente dal tipo di umask impostato.

Ciao
  Andrea

riassumo ciò che ho fatto: [...]

Sembra tutto giusto!

Come suggeriva anche Andrea S. prova a vedere effettivamente
come vengono creati i file applicativi. Magari LO o chi mai
ignorano umask e setgid... In pratica: cosa ti mostra ls -l
su quei file non modificabili da tutti?

Bye,
Chris.

Credo d'aver capito il problema,

non riesco a far mantenere in modo permanente l'umask. Infatti al
riavvio della sessione il parametro torna a 0022 anche se ho cambiato il
parametro umask del file login.defs da UMASK 0022 a UMASK 0002

il tutto da questa posizione riga 151

# Prefix these values with "0" to get octal, "0x" to get hexadecimal.

Ciao Andrea.

qualche idea da verificare.

File e folder di /media/Dati dovrebbero avere tutti accesso 770 (rwxrwx---).

Questo significa rwx per l'owner e rwx per il gruppo; others non accede
(---);

1° punto: verificare che il gruppo associato a file e folder sia
effettivamente hd-condiviso

2° : verificare con quale gruppo sta operando un utente#

groups <nome_utente> mostra i gruppi di cui si fa parte
newgrp "cambia" gruppo tra quelli previsti (di fatto apre una nuova shell
ch ha il gruppo come attributo)
di regola l'utente pippo viene definito assieme ad un identico nome.

Quindi, se pippo genera un file in /media/Dati, questo apparterrà a
pippo:hd-condiviso, ma pippo vi accede in quanto owner perché di regola
agisce come pippo:pippo.

Se pluto fa simile cosa, i suoi file apparteranno a pluto:hd-condiviso, e
come pippo potra gestire pienamente i suoi file.

Per accedere ai file di pippo pluto dovra cambiare gruppo: newgrp
hd-condiviso

provare,
diego

attachment.htm (2.68 KB)

2017-09-22 17:56 GMT+02:00 Andrea Congiu <congiu.andr(a)gmail.com>:

Credo d'aver capito il problema,

non riesco a far mantenere in modo permanente l'umask. Infatti al
riavvio della sessione il parametro torna a 0022 anche se ho cambiato il
parametro umask del file login.defs da UMASK 0022 a UMASK 0002

il tutto da questa posizione riga 151

# Prefix these values with "0" to get octal, "0x" to get hexadecimal.
#
ERASECHAR 0177
KILLCHAR 025
UMASK 0002

man pam_umask
/etc/pam.d/common-session
session optional pam_umask.so umask=002