Newsgroup: it.comp.reti.locali
Titolo: [Samba] Impedire modifica file condivisi

Salve a tutti.
Procedo con i miei esperimenti con Samba, con lo scopo di configurare un 
file server Linux in una rete di client Win2000.
Ho alcuni dubbi da chiarirmi, ma al momento quello che mi sembra più 
irrisolvibile è questo: è possibile, su Linux/Samba, rendere una 
directory condivisa in modo che alcuni utenti possano leggerne il 
contenuto, aggiungere file e cartelle, ma NON modificare o cancellare 
file e cartelle già esistenti? Altri utenti, invece, dovrebbero avere su 
di essa il controllo completo.
Su Win2000 l'ho fatto, impostando opportunamente le autorizzazioni della 
cartella in modalità "Avanzata". Ma con Samba? Non esiste qualcosa di 
più evoluto del parametro "read only"?
Gli altri dubbi nei prossimi giorni. ;)
Grazie.
-- 
Ciao,
  Marco.
..."Fragile", Yes 1972

 più evoluto del parametro "read only"?
lunga storia ;)
la gestione delle acl dipende dal file system sottostante, al
momento serve un discreto ravanamento, vedesi 
acl.bestbits.at

   Marco.
mip

 Samba, puoi usare swat o webmin tramite qualsiasi client della tua LAN.
Forse non hai letto bene....lui vuole fare in modo che non sia possibile
sovrascrivere o cancellare i file gia' esistenti...mentre deve esser
possibile crearne di nuovi.Chesso' tipo un ftp pubblico ben
impostato...scrivi e leggi ma non sovrascrivi ne' cancelli.
Ciao

 impostato...scrivi e leggi ma non sovrascrivi ne' cancelli.
Esatto, grazie. :)
Ho visto ora un po' di fretta 
acl.bestbits.at
, come consigliato da frick 
(che ringrazio), ma ouch! Patch al kernel? Hm, preferirei evitare... 
Oltretutto in quelle pagine mi sembra di aver visto solo indicazioni su 
come rendere più "granulari" i permessi, impostandoli per i singoli 
utenti, ma non su come impedire la modifica e permettere la scrittura...
Proverò a chiedere in luoghi dedicati a Samba... Nel frattempo mi stanno 
venendo idee strane, tipo: creare due strutture di directory identiche, 
una (A) contenente anche i file, tutta di sola lettura, e una (B) senza 
file, solo directory vuote, accessibile in lettura e scrittura. Gli 
utenti lavorano su quest'ultima (B), per creare i loro nuovi file. Poi, 
ogni notte, uno script automaticamente copia i nuovi file e cartelle su 
(A), e successivamente cancella tutta (B) e la ricrea copiando solo le 
cartelle da (A).
-- 
Ciao,
  Marco.
..."The Juliet Letters", Elvis Costello & The Brodsky Quartet 1993

> Forse non hai letto bene....lui vuole fare in modo che...
[cut]
Chiedo venia, hai ragione. Chiedo scusa anche a Marco per la fretta con la
quale ho letto il suo messaggio.
Ciao.

Marco De Vitis ha scritto:
 >>Forse non hai letto bene....lui vuole fare in modo che non sia possibile
 >>sovrascrivere o cancellare i file gia' esistenti...mentre deve esser
 >>possibile crearne di nuovi.Chesso' tipo un ftp pubblico ben
 >>impostato...scrivi e leggi ma non sovrascrivi ne' cancelli.
 >
 >
 > Esatto, grazie. :)
 >
 > Ho visto ora un po' di fretta 
acl.bestbits.at
, come consigliato da frick
 > (che ringrazio), ma ouch! Patch al kernel? Hm, preferirei evitare...
infatti era un discorso + generale, le acl su una share si possono
avere se le supporta il file system sottostante, cosa che su linux
e` ancora a livello sperimentale e comunque sta maturando supporto
a fs che supportano nativamente le acl (xfs) quindi basta avere un
po' di pazienza
 > Oltretutto in quelle pagine mi sembra di aver visto solo indicazioni su
 > come rendere più "granulari" i permessi, impostandoli per i singoli
 > utenti, ma non su come impedire la modifica e permettere la scrittura...
quello che ti interessa se non ho capito male si risolve con il +w
a un secondo gruppo su una directory, attualmente dividerei su due
share a meno di motivi improrogabili per averne una sola
 > Proverò a chiedere in luoghi dedicati a Samba...
puoi provare la m/l it c/o 
lists.xsec.it/mailman/listinfo/samba-it

 share a meno di motivi improrogabili per averne una sola
Ripesco questo thread perché, riflettendoci un po', forse ho capito che 
la soluzione esiste, senza trucchi troppo strani.
Innanzitutto, per rispondere a te, frick, non so se potrebbe bastare il 
+w a un secondo gruppo... il problema è che un +w è comunque limitato, a 
me servirebbe proprio una distinzione tra modifica e cancellazione, e se 
io do a qualcuno la possibilità di scrivere nuovi file, automaticamente 
gli permetto anche di modificare quelli già esistenti. Correggimi se 
sbaglio.
Comunque, quello che mi è venuto in mente è questo:
se io attivo lo sticky bit per tutte le directory della condivisione in 
questione, solo il proprietario e root potranno cancellare o rinominare 
(accidenti, non ho provato la sovrascrittura...) i file in esse 
contenuti.
Quindi potrei impostare come proprietario di tutte le directory l'utente 
che deve poter fare qualsiasi cosa, e mettere nella sezione share 
relativa:
force directory mode = 1777
In questo modo sarà attivo lo sticky bit su qualsiasi directory creata. 
L'ideale sarebbe fare in modo che le nuove directory appartengano sempre 
a quel particolare "super-utente", ma purtroppo credo non sia possibile 
(il parametro "force user" funzionerebbe, ma darebbe anche a chiunque le 
stesse possibilità del super-utente, rendendo quindi tutto inutile).
Quindi potrei fare in modo che, ogni notte, il server dia una ripassata 
a quella dir condivisa per riassegnare la proprietà di tutte le 
directory al super-utente. In questo modo le nuove directory 
rimarrebbero cancellabili solo entro la stessa giornata, il che può 
anche essere comodo.
Può funzionare?
-- 
Ciao,
  Marco.
..."Thrak", King Crimson 1995

Marco De Vitis ha scritto:
 > Ripesco questo thread perché, riflettendoci un po', forse ho capito che
 > la soluzione esiste, senza trucchi troppo strani.
 > Innanzitutto, per rispondere a te, frick, non so se potrebbe bastare il
 > +w a un secondo gruppo... il problema è che un +w è comunque limitato, a
 > me servirebbe proprio una distinzione tra modifica e cancellazione, e se
 > io do a qualcuno la possibilità di scrivere nuovi file, automaticamente
 > gli permetto anche di modificare quelli già esistenti. Correggimi se
 > sbaglio.
un utente non puo` modificare il contenuto di un file se non c'ha sopra
un +w, per rinominarlo (o cancellarlo ecc.) basta il +w sulla dir
 > Comunque, quello che mi è venuto in mente è questo:
 > se io attivo lo sticky bit per tutte le directory della condivisione in
 > questione, solo il proprietario e root potranno cancellare o rinominare
 > (accidenti, non ho provato la sovrascrittura...) i file in esse
 > contenuti.
 > Quindi potrei impostare come proprietario di tutte le directory l'utente
 > che deve poter fare qualsiasi cosa
sono ormai in catalessi e a 5' dal crollo ma se non ho capito male pensi
che lo sticky bit impedisca agli utenti che creano file in quella dir di
cancellare i propri file ma non e` cosi`, semplicemente impedisce che lo
faccia un altro utente coi permessi +w sulla directory

 faccia un altro utente coi permessi +w sulla directory
Sì, esatto, è proprio quello che intendevo dire, ma non ero stato 
preciso perché non avevo ancora provato.
Stanotte ho provato, e sembra funzionare bene.
Supponiamo di avere l'utente Adamo, che può fare tutto ciò che vuole con 
i file, e l'utente Eva che può solo aggiungerne di nuovi.
Partiamo da una situazione in cui tutti i file e le dir contenuti nella 
share che ci interessa appartengono ad Adamo, e tutte le dir hanno lo 
sticky bit.
Eva, quindi, può solo leggere i file esistenti e aggiungere nuovi file e 
directory e, una volta aggiunti, può fare con essi ciò che vuole 
(cancellarli, rinominarli, modificarli).
Se però io creo uno script che, automaticamente, ogni notte, reimposta 
Adamo come proprietario di tutto il contenuto della share ("chown -R 
adamo.adamo /share"), Eva avrà a disposizione una giornata di lavoro per 
sistemare i suoi nuovi file, dopo di che saranno "congelati" proprio 
come voglio io.
Per quanto riguarda le nuove dir aggiunte da Eva, non ho neanche bisogno 
di reimpostare su tutte lo sticky bit di notte: mi basta usare in 
smb.conf l'opzione "force directory mode = 1777", e automaticamente 
qualsiasi dir creata avrà lo sticky bit attivo.
-- 
Ciao,
  Marco.
..."Grace", Jeff Buckley 1994