[Risolto] bindfs e samba: crea, leggi, no modifica o cancell

Installazione, configurazione e uso di Ubuntu come server: web, ftp, mail, news, proxy, dns, ecc.

[Risolto] bindfs e samba: crea, leggi, no modifica o cancell

Messaggioda certosin0 » giovedì 4 maggio 2017, 11:42

Buondì a tutti.
Ho una noia tra bindfs e una condivisione samba. I documenti, office e scansioni, vengono fatte da sistemi windows (2008R2) e salvati sulla condivisione di rete. Se qualche anima pia mi fa capire dove commetto l'errore perché sono 4 ore che ci sto sbattendo la testa :muro: senza trovare soluzione.

gruppo: studio
utenti: pippo, pluto, paperino

La directory:
Codice: Seleziona tutto
home
   |-documenti clienti
      |-codice.fiscale                 #dove ci sono cartelle per ogni cliente nominate con la propria partita iva o codice fiscale#
         |-03773002001
         |-ABCDEL11F22G333H
         |-...
         |-...
 
      |-alfabetico                     #dove ci sono collegamenti akke cartelle per ogni cliente nominate con la propria ragione sociale o il nome proprio#
         |-pf
            |-la.fava.gustavo          #ln -s > ../../ABCDEL11F22G333H#

         |-soc                         #dove ci sono collegamenti akke cartelle per ogni cliente nominate con la propria ragione sociale o il nome proprio#
            |-la.pinco.pallino.s.r.l.  #ln -s > ../../03773002001#
            |-...
            |-...

      |-controlled                     #cartella montata in fuse dove viene montata la cartella nominativa#
         |-pf
            |-la.fava.gustavo
            |-...

         |-soc
            |-la.pinco.pallino.s.r.l.  #ln -s > ../../03773002001#
            |-...


smb.conf

Codice: Seleziona tutto
[controlled]
workgroup = SCIC
server string = %h server
security = SHARE
security = USER
path = /home/data/documenti.clienti/controlled
available = yes
browseable = yes
public = yes
writable = yes
create mask = 0755
directory mask = 0777
guest ok = no



Cosa Voglio:
Voglio che gli utenti del gruppo studio possano accedere alla cartella controlled (e sottocartelle) e:
.pippo, pluto, paperino possano leggere tutte le cartelle (es. pippo, pluto, paperino possono vedere tutti i files in /home/controlled/ );
.pippo, pluto, paperino possano creare un file (es. pippo, pluto, paperino possono creare files in /home/controlled/pf/la.fava.gustavo/ con la propria utenza);
.pippo, pluto, paperino possano vedere e aprire un file creato da uno dei membri del gruppo studio (es. pippo e pluto possono vedere i files creati da paperino in /home/controlled/pf/la.fava.gustavo/ );
.pippo, pluto, paperino possano aprire un file creato da uno dei membri del gruppo studio ma siano obbligati a salvarlo con altro nome ovvero non possano sovrascrivelo a meno che non siano i proprietari del file stesso (es. pippo può aprire il file creato da paperino /home/controlled/pf/la.fava.gustavo/test.txt ma è obbligato a salvarlo con nome /home/controlled/pf/la.fava.gustavo/test2.txt, paperino del suo file può far ciò che vuole);
.pippo, pluto, paperino possano creare sotto cartelle ma non cancellarle a meno che non sia il proprietario (pippo può creare/cancellare /home/controlled/pf/la.fava.gustavo/bp2017/, paperino e pluto possono accedervi, creare files all'interno ma non cancellarla) ;

cosa ho fatto fin'ora:
Codice: Seleziona tutto
sudo apt-get install bindfs
mkdir controlled
sudo chown root: controlled
sudo chmod 0700 controlled
sudo chmod -R 0755 codice.fiscale
sudo chmod -R 0755 alfabetico
sudo bindfs -g studio -p u=rwD,g=r,dg=rwx,o=rD ordine.alfabetico/ controlled
sudo chmod +t ordine.alfabetico/ 


I permessi sulle due directory interessate:
drwxr-xr-x 2 pippo studio 4096 mag 4 10:55 ABCDEL11F22G333H/

lrwxrwxrwx 1 pippo studio 87 mag 2 19:15 la.fava.gustavo -> /home/data/documenti.clienti/ordine.codice.fiscale/ABCDEL11F22G333H/



cosa succede:
pippo crea un file dalla shell. funziona
Codice: Seleziona tutto
echo "Z" > controlled/pf/l/la.fava.gustavo/testcrea.txt
drwx------    2 pippo studio       4096 mag  4 10:51 ./
drwx------ 1520 pippo studio      65536 mag  4 08:59 ../
-rw-rw-r--    1 pippo pippo           2 mag  4 10:36 testcrea.txt


pippo modifica il file dalla shell. funziona
Codice: Seleziona tutto
echo "Z" >> controlled/pf/l/la.fava.gustavo/testcrea.txt 
drwx------    2 pippo studio       4096 mag  4 10:51 ./
drwx------ 1520 pippo studio      65536 mag  4 08:59 ../
-rw-rw-r--    1 pippo pippo           4 mag  4 10:36 testcrea.txt



pluto apre la directory X:\alfabetico\pf\l\la.fava.gustavo\ da windows. funziona vede i file all'interno (corretto)

pluto apre il file di pippo X:\alfabetico\pf\l\la.fava.gustavo\testcrea.txt da windows. funziona (corretto)

pluto modifica e vuole salvare il file di pippo X:\alfabetico\pf\l\la.fava.gustavo\testcrea.txt da windows con lo stesso nome. non funziona (corretto perché non riesce)

pluto vuole salvare con altro nome il file di pippo X:\alfabetico\pf\l\la.fava.gustavo\testcrea.txt da windows. non funziona (non corretto perché non riesce)

pluto vuole creare la cartella "successione" all'interno di X:\alfabetico\pf\l\la.fava.gustavo\. non funziona (non corretto perché non riesce)

pluto, da shell, echo "x" > alfabetico\pf\l\la.fava.gustavo\testcrea.txt da windows. non funziona (non corretto perché non riesce)

Da qualche parte ho cannato un permesso, sicuramente, un aiutino sarebbe apprezzato.

Grazie,
C0
Ultima modifica di certosin0 il lunedì 15 maggio 2017, 11:51, modificato 1 volta in totale.
certosin0
Prode Principiante
 
Messaggi: 39
Iscrizione: maggio 2009

Re: bindfs e samba share: crea, leggi, no modifica, no elimi

Messaggioda thece » giovedì 4 maggio 2017, 12:00

:ciao:

questo

certosin0 Immagine ha scritto:smb.conf

Codice: Seleziona tutto
[controlled]
workgroup = SCIC
server string = %h server
security = SHARE
security = USER
path = /home/data/documenti.clienti/controlled
available = yes
browseable = yes
public = yes
writable = yes
create mask = 0755
directory mask = 0777
guest ok = no


è tutto il contenuto del tuo file /etc/samba/smb.conf? Se SI, io intanto inizierei con scriverlo correttamente

L'uso di bindfs mi sembra non necessario
Avatar utente
thece
Rampante Reduce
Rampante Reduce
 
Messaggi: 8327
Iscrizione: aprile 2007
Distribuzione: Debian 9 (Stretch) - KDE

Re: bindfs e samba share: crea, leggi, no modifica, no elimi

Messaggioda certosin0 » venerdì 5 maggio 2017, 11:38

Grazie thece, era scritto veramente coi piedi.

Ho seguito la tua indicazione e abbandonato bindfs. Ora smb.conf credo, credo, sia un pelo più decente:

Codice: Seleziona tutto
[global]
  workgroup = studio
  server string = %h server
  security = USER

[Kontrolled]
   path = /home/kontrolled
   writeable = yes
   browsable = yes
   guest ok = yes
   guest only = no
   create mask = 0755
   directory mask = 1755


getfacl kontrolled
Codice: Seleziona tutto
# file: kontrolled
# owner: jamesbond
# group: studio
# flags: --t
user::rwx
group::rwx
other::r-x


Qualcosa però ancora mi sfugge. Con questa configurazione pippo può creare file e directory che possono essere aperte da pluto e paperino, ma non possono essere cancellate e dunque solo salvare con nome diverso. Ottimo. Se pippo però crea una cartella test e pluto o paperino vuole scriverci dentro non può. E a me invece serve.
Ovvero:
nella cartella kontrolled/pf/l/la.fava.gustavo/ pippo crea la cartella test
nella cartella kontrolled/pf/l/la.fava.gustavo/test pluto può creare documenti e cartelle... quanto meno i documenti

Cos'è che mi sfugge ancora?

Grazie,
C0

PS: jamesbond è un utente utilizzato solo da me per fare alcune operazionie
certosin0
Prode Principiante
 
Messaggi: 39
Iscrizione: maggio 2009

Re: bindfs e samba share: crea, leggi, no modifica, no elimi

Messaggioda thece » venerdì 5 maggio 2017, 13:24

Vediamo come sono associati gli utenti ai gruppi

Codice: Seleziona tutto
cat /etc/group | egrep 'pippo|pluto|paperino'
Ultima modifica di thece il venerdì 5 maggio 2017, 16:59, modificato 1 volta in totale.
Avatar utente
thece
Rampante Reduce
Rampante Reduce
 
Messaggi: 8327
Iscrizione: aprile 2007
Distribuzione: Debian 9 (Stretch) - KDE

Re: bindfs e samba share: crea, leggi, no modifica, no elimi

Messaggioda certosin0 » venerdì 5 maggio 2017, 14:09

Grazie thece.
mmm

Codice: Seleziona tutto
sudo:x:27:jamesbond,pippo
jamesbond:x:1000:pippo,pluto,paperino
studio:x:1003:pippo,pluto,paperino,jamesbond,root
pippo:x:1004:
pluto:x:1005:
paperino:x:1007:
certosin0
Prode Principiante
 
Messaggi: 39
Iscrizione: maggio 2009

Re: bindfs e samba share: crea, leggi, no modifica, no elimi

Messaggioda thece » venerdì 5 maggio 2017, 14:55

Scusa, nella fretta, come spesso mi accade, ti ho scritto una risposta del ... piffero ... dunque

La directory /home/kontrolled è di proprietà dell'utente jamesbond, gruppo studio e ha i permessi rwx rwx r-x t , questo significa che in virtù dello sticky bit

- l'utente proprietario jamesbond può fare qualsiasi cosa
- gli utenti appartenenti al gruppo studio possono entrare nella directory, leggerne il contenuto, creare nuovi file / directory ma cancellare solamente i file / directory di propria appartenenza
- gli altri utenti possono entrare nella directory e leggerne il contenuto, ma non creare e cancellare nuovi file

Secondo me tu hai bisogno di usare anche lo sguid bit per propagare la proprietà del gruppo della directory /home/kontrolled al suo contenuto, e nella definizione dello share di usare le direttive force user e force group ... bisognerebbe fare un pò di prove.

Forse settando per bene le ACL, ma non saprei come aiutarti nella pratica: per le mie necessità non le ho mai studiate e applicate seriamente



Nota: l'utente root non ha bisogno di appartenere a nessun altro gruppo ad di fuori del suo gruppo root. E' un'operazione del tutto inutile, poichè all'utente root (*) non viene MAI applicato alcun controllo di proprietà o appartenenza. è per questo che l'utente root può fare qualsiasi cosa a prescindere.



(*) o meglio allo UID 0 cui il nome root corrisponde
Ultima modifica di thece il venerdì 5 maggio 2017, 17:02, modificato 2 volte in totale.
Avatar utente
thece
Rampante Reduce
Rampante Reduce
 
Messaggi: 8327
Iscrizione: aprile 2007
Distribuzione: Debian 9 (Stretch) - KDE

Re: bindfs e samba share: crea, leggi, no modifica, no elimi

Messaggioda thece » venerdì 5 maggio 2017, 16:55

certosin0 Immagine ha scritto:... Ora smb.conf credo, credo, sia un pelo più decente ...

Guarda nella mia firma e apri il link sulla mia guida a Samba. Guarda nel 1° post. Della configurazione che suggerisco per il file /etc/samba/smb.conf prendi solamente la sezione [global].

... una letta a tutta la guida comunque male non fa ;)
Avatar utente
thece
Rampante Reduce
Rampante Reduce
 
Messaggi: 8327
Iscrizione: aprile 2007
Distribuzione: Debian 9 (Stretch) - KDE

Re: bindfs e samba share: crea, leggi, no modifica, no elimi

Messaggioda certosin0 » lunedì 15 maggio 2017, 11:37

Grazie per le indicazioni thece, non ho risolto al 100% , ma penso comunque vada bene e allego l'smb.conf, magari a qualcuno serve.

Codice: Seleziona tutto
[global]
workgroup = STOGRUPPO
server string = %h server
security = USER

[Clienti]
   path = /home/data/documenti.clienti
   writeable = yes
   browsable = yes
   guest ok = yes
   guest only = no
   create mask = 0755
   directory mask = 1775
   force group = studio
   force directory mode = 1775
   directory security mask = 1775
   force directory security mode = 1775


In questo modo se pippo crea una cartella X e all'interno di questa cartella un documento Y, né pluto paperino potranno rimuovere né la cartella né il contenuto, pur essendo comunque abilitati alla lettura.

Grazie ancora per le indicazioni,
C0
certosin0
Prode Principiante
 
Messaggi: 39
Iscrizione: maggio 2009


Torna a Ubuntu su server

Chi c’è in linea

Visualizzano questa sezione: Majestic-12 [Bot] e 3 ospiti