Discussione:
copiare file da Windows a Samba mantenendo i permessi
Marco Agostini
2012-06-03 20:48:33 UTC
Permalink
Ciao,

sto cercando di copiare dei file e delle cartelle da una macchina
Windows in una condivisione samba e vorrei che venissero copiate anche
le ACL.

Nello specifico, sulla macchina samba (debian squeeze):

1) ho abilitato le acl a livello di filesystem
# mount | grep condivisioni
/dev/vdb1 on /condivisioni type ext4 (rw,acl)

2) ho abilitato le acl a livello samba
# cat /etc/samba/smb.conf | grep acl
map acl inherit = yes
nt acl support = yes

3) ho configurato ntp, kerberos, pam, nsswitch e samba per gestire
correttamente gli utenti di AD
- getent passwd, restituisce tutti gli utenti di AD
- getent group, restituisce tutti i gruppi di AD

4) ho condiviso la cartella /condivisioni modificando il file di
configurazione di samba
[test]
comment = Directory for storing pictures by jims users
path = /condivisioni/test
valid users = "@MIODOMINIO\Domain Admins"
admin users = "@MIODOMINIO\Domain Admins"
read only = No

Questi i permessi a livello di filesystem della cartella condivisa:
# ls /condivisioni -lrt | grep test
drwxr-xr-x 2 administrator root 4096 3 giu 22.08 test

Lato Windows:
- riesco a mappare la cartella condivisa da samba
- riesco a creare/modificare/cancellare cartelle/file
- riesco a gestire le ACL aggiungendo nuovi utenti
- riesco a modificare il proprietario delle cartelle

Lato Linux:
- verificando le ACL tramite getfacl, il giochino sembra funzionare
# getfacl /condivisioni/test/pippo
getfacl: Removing leading '/' from absolute path names
# file: condivisioni/test/pippo
# owner: root
# group: domain\040users
user::rwx
user:mariorossi:r-x
group::r-x
mask::rwx
other::r-x
default:user::rwx
default:user:mariorossi:r-x
default:group::---
default:mask::rwx
default:other::---

e allora, uno si chiede, di cosa ti lamenti ? .... e adesso arrivo :-P

Lato Windows
- con un semplice copia e incolla di una cartella da un disco locale
(es. D:\) su di un disco mappato sulla cartella condivisa samba (es.
Z:\) le ACL non vengono copiate
- con un semplice taglia e incolla di una cartella da un disco locale
(es. D:\) su di un disco mappato sulla cartella condivisa samba (es.
Z:\) le ACL non vengono copiate
- utilizzando robocopy (presente nel resourcekit M$), "robocopy
d:\pippo z: /mir /copyall" ottengo questo messaggio d'errore "Il
privilegio richiesto non appartiene al client."
- utilizzando xcopy "xcopy d:\pippo z: /O /X /E /H /K" ottengo questo
messaggio d'errore "Il privilegio richiesto non appartiene al client."

Come la risolvo questa cosa / stò sbagliando qualcosa ?
Ho googolato parecchio ma senza trovare la soluzione.

Dimenticavo, noto una cosa strana, lato Windows:
- l'icona del disco mappato, da esplora risorse, e' quella del disco
con una X (come quando un disco è disconnesso)
- se provo, da un prompt dei comandi, ad eseguire un "net use" ottengo questo
C:\>net use
Stato Locale Remota
-----------------------------------------------------------------
Disconnesso Z: \\srvsamba\test

ma al disco Z: riesco ad accedere senza problemi, sia dal prompt dei
comandi che da esplora risorse.

Qualcuno ha già affrontato il problema della migrazione da Windows a
Samba delle ACL ?
grazie mille
Mitja Tavcar
2012-06-04 06:44:20 UTC
Permalink
Post by Marco Agostini
Lato Windows
- con un semplice copia e incolla di una cartella da un disco locale
(es. D:\) su di un disco mappato sulla cartella condivisa samba (es.
Z:\) le ACL non vengono copiate
- con un semplice taglia e incolla di una cartella da un disco locale
(es. D:\) su di un disco mappato sulla cartella condivisa samba (es.
Z:\) le ACL non vengono copiate
- utilizzando robocopy (presente nel resourcekit M$), "robocopy
d:\pippo z: /mir /copyall" ottengo questo messaggio d'errore "Il
privilegio richiesto non appartiene al client."
- utilizzando xcopy "xcopy d:\pippo z: /O /X /E /H /K" ottengo questo
messaggio d'errore "Il privilegio richiesto non appartiene al client."
Come la risolvo questa cosa / stò sbagliando qualcosa ?
Ho googolato parecchio ma senza trovare la soluzione.
Io proverei a verificare i permessi che ti risultano file creati da
samba sotto linux.
Le acl default stabiliscono con quali permessi vengono creati i nuovi file.
Post by Marco Agostini
Qualcuno ha già affrontato il problema della migrazione da Windows a
Samba delle ACL ?
grazie mille
...
Tempo fa ho usato un modulo vfs: vfs object = acl_xattr che memorizza
le acl in un attributo esteso del filesystem security.NTACL.
Non ho provato la cosa in produzione ma sembrerebbe funzionare.

...
Post by Marco Agostini
2) ho abilitato le acl a livello samba
# cat /etc/samba/smb.conf | grep acl
map acl inherit = yes
Se vuoi che funzioni l'ereditarietà degli attributi devi attivare
anche gli attributi estesi del filesystem ext4 (user_xattr)

Mitja Tavcar
Marco Agostini
2012-06-04 07:56:29 UTC
Permalink
Post by Mitja Tavcar
Io proverei a verificare i permessi che ti risultano file creati da
samba sotto linux.
Le acl default stabiliscono con quali permessi vengono creati i nuovi file.
Ho provato questo:
# touch test.txt

# getfacl test.txt
# file: test
# owner: root
# group: root
user::rw-
user:administrator:rwx #effective:rw-
group::---
mask::rw-
other::---

i permessi lavorano come mi aspetterei.
Post by Mitja Tavcar
Se vuoi che funzioni l'ereditarietà degli attributi devi attivare
anche gli attributi estesi del filesystem ext4 (user_xattr)
ok, ora il filesystem è montato così:
# mount | grep acl
/dev/vdb1 on /condivisioni type ext4 (rw,acl,user_xattr)
Post by Mitja Tavcar
Tempo fa ho usato un modulo vfs: vfs object = acl_xattr che memorizza
le acl in un attributo esteso del filesystem security.NTACL.
Non ho provato la cosa in produzione ma sembrerebbe funzionare.
ho impostato il parametro nella share, riavviato samba, smontato e
rimontato la condivisione da Windows.... ma robocopy mi da sempre lo
stesso errore "Il privilegio richiesto non appartiene al client."
Giuliano Natali (Diaolin)
2012-06-04 09:21:47 UTC
Permalink
Non vedo

inherit acls = yes

nel smb.conf


testparm | grep inherit

invio invio

DIaolin
--
Per iscriversi (o disiscriversi), basta spedire un messaggio con OGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request-***@public.gmane.org
Marco Agostini
2012-06-04 09:26:31 UTC
Permalink
Il 04 giugno 2012 11:21, Giuliano Natali (Diaolin)
Post by Giuliano Natali (Diaolin)
testparm | grep inherit
invio invio
# testparm | grep inherit
Load smb config files from /etc/samba/smb.conf
rlimit_max: rlimit_max (1024) below minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[print$]"
Processing section "[test]"
Loaded services file OK.
'winbind separator = +' might cause problems with group membership.
Server role: ROLE_DOMAIN_MEMBER
Press enter to see a dump of your service definitions

map acl inherit = Yes
inherit permissions = Yes
inherit acls = Yes
inherit owner = Yes
Mitja Tavcar
2012-06-04 09:54:25 UTC
Permalink
Post by Marco Agostini
Post by Mitja Tavcar
Io proverei a verificare i permessi che ti risultano file creati da
samba sotto linux.
Le acl default stabiliscono con quali permessi vengono creati i nuovi file.
# touch test.txt
Il punto è che permessi prende un file creato da samba.
Io metteri:
owner root e group root su /condivisioni/test e
"g:users:rwx" e "g:domain users:rwx" alle default ACL di test.

Mitja
Marco Agostini
2012-06-04 10:05:33 UTC
Permalink
Post by Mitja Tavcar
Il punto è che permessi prende un file creato da samba.
owner root e group root su /condivisioni/test e
"g:users:rwx" e "g:domain users:rwx" alle default ACL di test.
scusa ma son en "zuc" :-)

- ho una cartella /condivisioni/test che viene condivisa tramite samba
- queste le permission
# ls -l /condivisioni | grep test
drwxr-xr-x+ 2 root root 4096 4 giu 12.02 test

poi dici
Post by Mitja Tavcar
"g:users:rwx" e "g:domain users:rwx" alle default ACL di test.
questo mi sfugge, dove/come le imposto ?
Marco Agostini
2012-06-04 11:57:51 UTC
Permalink
Post by Marco Agostini
poi dici
Post by Mitja Tavcar
"g:users:rwx" e "g:domain users:rwx" alle default ACL di test.
questo mi sfugge, dove/come le imposto ?
mi rispondo da solo:

# setfacl -m "g:users:rwx" NOMECARTELLA
# setfacl -m "g:domain users:rwx" NOMECARTELLA

questa la configurazione della mia cartella condivisa:
# getfacl test
# file: test
# owner: root
# group: domain\040admins
user::rwx
group::rwx
group:users:rwx
group:domain\040users:rwx
mask::rwx
other::r-x

NB. Tramite esplora risorse (da Windows):
- riesco a modificare tutte le ACL senza problemi.
- riesco a creare/modificare/cancellare cartelle/file

Da riga di comando:
xcopy Corsi z: /O /X /E /H /K

dove "Corsi" è la cartella di partenza e "z:" la cartella samba mappata.

ottengo
"
Errore di creazione del file - Il privilegio richiesto non appartiene al client.

Impossibile creare directory - Z:\
0 File copiati
"
e lato samba non viene visualizzato nessun errore nei log.... a questo
punto il problema potrebbe essere lato Windows ?

ps. alcune info che forse avrei dovuto dare all'inizio:
- il client è Windows XP Pro aggiornato
- la cartella di partenza che sto provando a copiare, tramite xcopy e
robocopy, si trova sul disco c: della macchina Windows
- il server AD è un Windows 2000 aggiornato
- il server samba è una squeeze con samba 3.5.6 (installato
direttamente tramite i repository ufficiali)
Marco Agostini
2012-06-04 12:58:05 UTC
Permalink
Post by Marco Agostini
"
Errore di creazione del file - Il privilegio richiesto non appartiene al client.
Impossibile creare directory - Z:\
0 File copiati
"
Eureka, a forza di "ragagnare" sono riuscito a risolvere configurando
la share di samba in questo modo:

[pippo]
comment = cartella pippo condivisa
path = /condivisioni/test
invalid users = root
valid users = Administrator
admin users = Administrator
read only = No
inherit acls = Yes
vfs objects = acl_xattr

con robocopy riesco a portare in giro i miei archivi senza perdere le ACL.

Nessun messaggio d'errore nei log.

Faccio ancora delle altre prove e poi mi "autopillolo" sul sito del LT

:-P
Paolo Larcheri
2012-06-05 05:43:59 UTC
Permalink
Post by Marco Agostini
[pippo]
       comment = cartella pippo condivisa
       path = /condivisioni/test
       invalid users = root
       valid users = Administrator
       admin users = Administrator
       read only = No
       inherit acls = Yes
       vfs objects = acl_xattr
Ciao,
ho seguito con molto interesse questo thread e mi piacerebbe
(in fondo in fondo anche a voi, lo so) capire quale era la direttiva
mancante, sbagliata o di troppo.

Questa la tua configurazione originale.

[test]
comment = Directory for storing pictures by jims users
path = /condivisioni/test
valid users = "@MIODOMINIO\Domain Admins", Administrator
admin users = "@MIODOMINIO\Domain Admins", Administrator
read only = No
acl group control = Yes
inherit permissions = Yes
inherit acls = Yes
inherit owner = Yes
vfs objects = acl_xatt

Sei riuscio a capire dove stava l'inghippo?

Grazie,
Paolo
--
Paolo Larcheri
Linux User   #383461
https://linuxcounter.net
Marco Agostini
2012-06-05 09:18:21 UTC
Permalink
Post by Paolo Larcheri
Ciao,
ho seguito con molto interesse questo thread e mi piacerebbe
(in fondo in fondo anche a voi, lo so) capire quale era la direttiva
mancante, sbagliata o di troppo.
Sei riuscio a capire dove stava l'inghippo?
Ho approfondito (e sto ancora facendo altri test) il post di Mitja...
che all'inizio ho trovato "criptico" ma a forza di leggere
documentazione ora mi risulta chiaro :-)

In giornata conto di pubblicare una pillola sul sito del LinuxTrent
con, oltre alla parte di integrazione tra samba e AD, anche la parte
relativa alla gestione delle ACL.

Vi anticipo solo due cosette:
- il parametro "inherit acls = yes" non lavora nel modo corretto (io
NON sono riuscito a fargli gestire correttamente le ACL)
- ho usato questo
http://www.samba.org/samba/docs/man/manpages-3/vfs_acl_xattr.8.html
come suggerito dal buon Mitja.... dalla documentazione risulta
"experimental"... ma tanto per cambiare si comporta bene (nel senso
che fa quello che ci si aspetta !)
Paolo Larcheri
2012-06-05 09:29:17 UTC
Permalink
Post by Marco Agostini
Post by Paolo Larcheri
Sei riuscio a capire dove stava l'inghippo?
In giornata conto di pubblicare una pillola sul sito del LinuxTrent
con, oltre alla parte di integrazione tra samba e AD, anche la parte
relativa alla gestione delle ACL.
Mitttico,
GRAZIE
--
Paolo Larcheri
Linux User   #383461
https://linuxcounter.net
Marco Agostini
2012-06-05 12:44:54 UTC
Permalink
Post by Marco Agostini
In giornata conto di pubblicare una pillola sul sito del LinuxTrent
con, oltre alla parte di integrazione tra samba e AD, anche la parte
relativa alla gestione delle ACL.
ecco il link come promesso:

http://www.linuxtrent.it/documentazione/pillole-e-annotazioni-tecniche/pillola-40-samba-come-condivise-cartelle-e-gestire-le-
Roberto Resoli
2012-06-05 13:28:46 UTC
Permalink
Post by Marco Agostini
Post by Marco Agostini
In giornata conto di pubblicare una pillola sul sito del LinuxTrent
con, oltre alla parte di integrazione tra samba e AD, anche la parte
relativa alla gestione delle ACL.
http://www.linuxtrent.it/documentazione/pillole-e-annotazioni-tecniche/pillola-40-samba-come-condivise-cartelle-e-gestire-le-
Altro che pillola, questo e' un suppostone! Perche' non lo promuoviamo
a pagina di documentazione?

rob
Marco Agostini
2012-06-05 13:51:29 UTC
Permalink
Post by Roberto Resoli
Post by Marco Agostini
http://www.linuxtrent.it/documentazione/pillole-e-annotazioni-tecniche/pillola-40-samba-come-condivise-cartelle-e-gestire-le-
Altro che pillola, questo e' un suppostone! Perche' non lo promuoviamo
a pagina di documentazione?
OK, fatto.

Ho anche sistemato un paio di cosette.
Roberto Resoli
2012-06-05 14:08:35 UTC
Permalink
Post by Marco Agostini
Post by Roberto Resoli
Post by Marco Agostini
http://www.linuxtrent.it/documentazione/pillole-e-annotazioni-tecniche/pillola-40-samba-come-condivise-cartelle-e-gestire-le-
Altro che pillola, questo e' un suppostone! Perche' non lo promuoviamo
a pagina di documentazione?
OK, fatto.
Ho anche sistemato un paio di cosette.
Io ho sistemato il titolo ("condividere" invece di "condivise") ; en
passant, Drupal mi avverte:

"Link check of http://developer.novell.com/wiki/index.php/HOWTO:_Configure_Ubuntu_for_Active_Directory_Authentication
failed once (status code: 404)."

ciao,
rob
Marco Agostini
2012-06-05 14:15:08 UTC
Permalink
Post by Roberto Resoli
Io ho sistemato il titolo ("condividere" invece di "condivise") ; en
brau :-)
Post by Roberto Resoli
"Link check of http://developer.novell.com/wiki/index.php/HOWTO:_Configure_Ubuntu_for_Active_Directory_Authentication
failed once (status code: 404)."
sistemato !
Mitja Tavcar
2012-06-05 14:26:27 UTC
Permalink
Post by Marco Agostini
Ho approfondito (e sto ancora facendo altri test) il post di Mitja...
che all'inizio ho trovato "criptico" ma a forza di leggere
documentazione ora mi risulta chiaro :-)
Mi dispiace di non essere stato più chiaro :)
Post by Marco Agostini
In giornata conto di pubblicare una pillola sul sito del LinuxTrent
con, oltre alla parte di integrazione tra samba e AD, anche la parte
relativa alla gestione delle ACL.
- il parametro "inherit acls = yes" non lavora nel modo corretto (io
NON sono riuscito a fargli gestire correttamente le ACL)
- ho usato questo
http://www.samba.org/samba/docs/man/manpages-3/vfs_acl_xattr.8.html
come suggerito dal buon Mitja.... dalla documentazione risulta
"experimental"... ma tanto per cambiare si comporta bene (nel senso
che fa quello che ci si aspetta !)
Il modulo acl_xattr è experimental ma sembra anche aver passato dei
test abbastanza estesi dall'inquietante nome di "torture acl".
Per far mappare l'ereditarietà dei permessi ho usato l' opzione: map acl inherit
che mappa l'ereditarietà dei permessi in un ulteriore attributo esteso
del filesystem user.SAMBA_PAI

Entrambe le opzioni
Due note riguardo al modulo vfs acl_xattr:

- Se si usa questo modulo le acl vanno gestite solamente attraverso
samba (cioè da macchina windows o con strumenti linux tipo smbcacls).
Sarà samba a ricreare il più coerentemente possibile le acl posix. Se
si va ad impostare i permessi direttamente da linux con setfacl o
chmod samba non sarà più in grado di gestire la situazione e resetterà
i permessi.
- La share che lo utilizza non deve essere direttamente il mountpoint
ma una sottocartella (es.: se ho montato il filesystem /dev/sdb1 in
/mnt/pippo/ devo condividere la cartella /mnt/pippo/pluto ) altrimenti
non il modulo non funziona.

Mitja
Marco Agostini
2012-06-05 14:45:31 UTC
Permalink
Il 05 giugno 2012 16:26, Mitja Tavcar <tavcarmitja-***@public.gmane.org> ha scritto:
Mi dispiace di non essere stato più chiaro :)
ci mancherebbe.... mi hai indirizzato sulla giusta strada :-)
Post by Mitja Tavcar
Il modulo acl_xattr è experimental ma sembra anche aver passato dei
test abbastanza estesi dall'inquietante nome di "torture acl".
Per far mappare l'ereditarietà dei permessi ho usato l' opzione: map acl inherit
che mappa l'ereditarietà dei permessi in un ulteriore attributo esteso
del filesystem user.SAMBA_PAI
grazie, questo mi èra sfuggito.
Post by Mitja Tavcar
- Se si usa questo modulo le acl vanno gestite solamente attraverso
samba (cioè da macchina windows o con strumenti linux tipo smbcacls).
Sarà samba a ricreare il più coerentemente possibile le acl posix. Se
si va ad impostare i permessi direttamente da linux con setfacl o
chmod samba non sarà più in grado di gestire la situazione e resetterà
i permessi.
non ho idea per setfacl, ma ho provato con chmod e samba riesce a
gestire la cosa correttamente.
(es. chmod 750 nomecartella -R)
Post by Mitja Tavcar
- La share che lo utilizza non deve essere direttamente il mountpoint
ma una sottocartella (es.: se ho montato il filesystem /dev/sdb1 in
/mnt/pippo/ devo condividere la cartella /mnt/pippo/pluto ) altrimenti
non il modulo non funziona.
questo lo aggiungo alla documentazione.

grazie mille.
Gianni Caldonazzi
2012-06-04 07:17:59 UTC
Permalink
Il 03 giugno 2012 22:48, Marco Agostini <comunelevico-***@public.gmane.org> ha scritto:
[...]
Post by Marco Agostini
Lato Windows
- con un semplice copia e incolla di una cartella da un disco locale
(es. D:\) su di un disco mappato sulla cartella condivisa samba (es.
Z:\) le ACL non vengono copiate
Il comportamento di w$ cambia in base all'operazione scelta.
In questo caso la copia di un file non copia le ACL originali, ma
dovrebbe eriditare quelle della cartella di destinazione.
Post by Marco Agostini
- con un semplice taglia e incolla di una cartella da un disco locale
(es. D:\) su di un disco mappato sulla cartella condivisa samba (es.
Z:\) le ACL non vengono copiate
Questa operazione dovrebbe impostare le ACL di provenienza.
Purtroppo non riesco a trovare il documento m$ che avevo letto dove
spiegava il funzionamento della copia o spostamento del file su disco
differente o stesso disco, anche qui ci sono delle differenze
sostanziali.
Post by Marco Agostini
- utilizzando robocopy (presente nel resourcekit M$), "robocopy
d:\pippo z: /mir /copyall" ottengo questo messaggio d'errore "Il
privilegio richiesto non appartiene al client."
Qui non ci sono scuse, le ACL vengono copiate, ma ti da un errore.
Sicuro che la condivisione sia configurata a puntino?

[...]
Post by Marco Agostini
- l'icona del disco mappato, da esplora risorse, e' quella del disco
con una X (come quando un disco è disconnesso)
- se provo, da un prompt dei comandi, ad eseguire un "net use" ottengo questo
C:\>net use
Stato       Locale     Remota
-----------------------------------------------------------------
Disconnesso  Z:        \\srvsamba\test
ma al disco Z: riesco ad accedere senza problemi, sia dal prompt dei
comandi che da esplora risorse.
Questo è indice che non tutto funziona come deve...

Jan
Marco Agostini
2012-06-04 08:06:19 UTC
Permalink
Il 04 giugno 2012 09:17, Gianni Caldonazzi
Post by Gianni Caldonazzi
Il comportamento di w$ cambia in base all'operazione scelta.
In questo caso la copia di un file non copia le ACL originali, ma
dovrebbe eriditare quelle della cartella di destinazione.
ok
Post by Gianni Caldonazzi
Questa operazione dovrebbe impostare le ACL di provenienza.
Purtroppo non riesco a trovare il documento m$ che avevo letto dove
spiegava il funzionamento della copia o spostamento del file su disco
differente o stesso disco, anche qui ci sono delle differenze
sostanziali.
no problem, l'ho letto anch'io da qualche parte e ricordavo il
comportamento.... difficile da far capire anche ad un utente "normale"
(che sarebbe quello che poi utilizza le cartelle di rete per
schiaffarci dentro tutta la "fuffa" che può).
Post by Gianni Caldonazzi
Post by Marco Agostini
- utilizzando robocopy (presente nel resourcekit M$), "robocopy
d:\pippo z: /mir /copyall" ottengo questo messaggio d'errore "Il
privilegio richiesto non appartiene al client."
Qui non ci sono scuse, le ACL vengono copiate, ma ti da un errore.
Sicuro che la condivisione sia configurata a puntino?
Questa la configurazione della mia share:
[test]
comment = Directory for storing pictures by jims users
path = /condivisioni/test
valid users = "@MIODOMINIO\Domain Admins", Administrator
admin users = "@MIODOMINIO\Domain Admins", Administrator
read only = No
acl group control = Yes
inherit permissions = Yes
inherit acls = Yes
inherit owner = Yes
vfs objects = acl_xatt
Post by Gianni Caldonazzi
Post by Marco Agostini
- l'icona del disco mappato, da esplora risorse, e' quella del disco
con una X (come quando un disco è disconnesso)
- se provo, da un prompt dei comandi, ad eseguire un "net use" ottengo questo
C:\>net use
Stato       Locale     Remota
-----------------------------------------------------------------
Disconnesso  Z:        \\srvsamba\test
ma al disco Z: riesco ad accedere senza problemi, sia dal prompt dei
comandi che da esplora risorse.
Questo è indice che non tutto funziona come deve...
ho controllato meglio, da Windows XP tutto OK, da Windows 2000 Server
riscontro il discorso del disco "Disconnesso".
Senza dubbio: non tutto funziona come deve :-|
Marco Agostini
2012-06-04 09:52:17 UTC
Permalink
Post by Marco Agostini
[test]
       comment = Directory for storing pictures by jims users
       path = /condivisioni/test
       read only = No
       acl group control = Yes
       inherit permissions = Yes
       inherit acls = Yes
       inherit owner = Yes
       vfs objects = acl_xatt
per quanto riguarda "vfs objects" avevo dimenticato una "r" finale....
ma comunque anche con la "r" la cosa non cambia.

Alcune segnalazioni nei log di samba che potrebbero servire:

- quando creo una nuova cartella ottengo questa segnalazione
[2012/06/04 11:45:29.539968, 0] smbd/open.c:317(change_dir_owner_to_parent)
change_dir_owner_to_parent: device/inode/mode on directory Nuova
cartella changed. Refusing to chown !

- quando faccio pulsante destro del mouse sulla share
"\\nomeserver\nomecondivisione" (prima ancora di connettere la
cartella) viene visualizzato questo messaggio
[2012/06/04 11:50:27.843857, 0] param/loadparm.c:8686(process_usershare_file)
process_usershare_file: stat of /var/lib/samba/usershares/pipp
failed. Permission denied
[2012/06/04 11:50:27.858008, 0] param/loadparm.c:8686(process_usershare_file)
process_usershare_file: stat of /var/lib/samba/usershares/pipp
failed. No such file or directory
[2012/06/04 11:50:28.786761, 1] smbd/service.c:1070(make_connection_snum)
winxp-proxmox (::ffff:192.168.32.124) connect to service pippo
initially as user MIODOMINIO+administrator (uid=0, gid=10004) (pid
3342)
Nicola Ferrari
2012-06-04 07:58:23 UTC
Permalink
Ciao. Allora, non ho mai affrontato il problema ma provo a ragionarci insieme a te.

Potenzialmente se la macchina Windows da cui "tiri dentro" i file è un Windows 7/2008 possono esserci svariati "problemi" di compatibilità con Samba3... Prova intanto a disabilitare il controllo UAC se è un client W7, e se invece il domain controller è un Windows 2008 (con livello funzionale di Active Directory a Windows 2008 R2 non retrocompatibile con W2003), mi pare d'aver capito dagli ultimi corsi M$ che non c'è verso di avere compatibilità piena con Samba, se non passando a Samba4...
Possono essere queste parziali fonti del tuo problema?


Non so se possa essere utile. Al tempo con Samba3 e Windows 2003 avevo scritto questa guida:
http://www.linuxqualityhelp.it/supporto/download/file.php?id=326

per tutto il discorso kerberos samba etc, e ricordo che la copia col comando solito

xcopy C:\vecchia_cartella D:\nuova_cartella /O /X /E /H /K

funzionava correttamente (Domain Controller Win2003, Server Debian con Samba3)

Ora ho un po' di cose per la testa, appena ho un attimo faccio dei test, perchè in prospettiva questa cosa servirà anche a me, la davo per scontata, tanto vale affrontarla insieme ora se ci sono dei problemi...


Ciao,
N



________________________________
Da: Marco Agostini <comunelevico-***@public.gmane.org>
A: linuxtrent-***@public.gmane.org
Inviato: Domenica 3 Giugno 2012 22:48
Oggetto: [Linuxtrent] copiare file da Windows a Samba mantenendo i permessi

Ciao,

sto cercando di copiare dei file e delle cartelle da una macchina
Windows in una condivisione samba e vorrei che venissero copiate anche
le ACL.

Nello specifico, sulla macchina samba (debian squeeze):

1) ho abilitato le acl a livello di filesystem
# mount | grep condivisioni
/dev/vdb1 on /condivisioni type ext4 (rw,acl)

2) ho abilitato le acl a livello samba
# cat /etc/samba/smb.conf | grep acl
map acl inherit = yes
nt acl support = yes

3) ho configurato ntp, kerberos, pam, nsswitch e samba per gestire
correttamente gli utenti di AD
- getent passwd, restituisce tutti gli utenti di AD
- getent group, restituisce tutti i gruppi di AD

4) ho condiviso la cartella /condivisioni modificando il file di
configurazione di samba
[test]
    comment = Directory for storing pictures by jims users
    path = /condivisioni/test
    valid users = "@MIODOMINIO\Domain Admins"
    admin users = "@MIODOMINIO\Domain Admins"
    read only = No

Questi i permessi a livello di filesystem della cartella condivisa:
# ls /condivisioni -lrt | grep test
drwxr-xr-x 2 administrator root  4096  3 giu 22.08 test

Lato Windows:
- riesco a mappare la cartella condivisa da samba
- riesco a creare/modificare/cancellare cartelle/file
- riesco a gestire le ACL aggiungendo nuovi utenti
- riesco a modificare il proprietario delle cartelle

Lato Linux:
- verificando le ACL tramite getfacl, il giochino sembra funzionare
# getfacl /condivisioni/test/pippo
getfacl: Removing leading '/' from absolute path names
# file: condivisioni/test/pippo
# owner: root
# group: domain\040users
user::rwx
user:mariorossi:r-x
group::r-x
mask::rwx
other::r-x
default:user::rwx
default:user:mariorossi:r-x
default:group::---
default:mask::rwx
default:other::---

e allora, uno si chiede, di cosa ti lamenti ? .... e adesso arrivo :-P

Lato Windows
- con un semplice copia e incolla di una cartella da un disco locale
(es. D:\) su di un disco mappato sulla cartella condivisa samba (es.
Z:\) le ACL non vengono copiate
- con un semplice taglia e incolla di una cartella da un disco locale
(es. D:\) su di un disco mappato sulla cartella condivisa samba (es.
Z:\) le ACL non vengono copiate
- utilizzando robocopy (presente nel resourcekit M$), "robocopy
d:\pippo z: /mir /copyall" ottengo questo messaggio d'errore "Il
privilegio richiesto non appartiene al client."
- utilizzando xcopy "xcopy d:\pippo z: /O /X /E /H /K" ottengo questo
messaggio d'errore "Il privilegio richiesto non appartiene al client."

Come la risolvo questa cosa / stò sbagliando qualcosa ?
Ho googolato parecchio ma senza trovare la soluzione.

Dimenticavo, noto una cosa strana, lato Windows:
- l'icona del disco mappato, da esplora risorse, e' quella del disco
con una X (come quando un disco è disconnesso)
- se provo, da un prompt dei comandi, ad eseguire un "net use" ottengo questo
C:\>net use
Stato      Locale    Remota
-----------------------------------------------------------------
Disconnesso  Z:        \\srvsamba\test

ma al disco Z: riesco ad accedere senza problemi, sia dal prompt dei
comandi che da esplora risorse.

Qualcuno ha già affrontato il problema della migrazione da Windows a
Samba delle ACL ?
grazie mille
--
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con OGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request-***@public.gmane.org
Marco Ciampa
2012-06-11 17:15:56 UTC
Permalink
Post by Nicola Ferrari
Ciao. Allora, non ho mai affrontato il problema ma provo a ragionarci insieme a te.
Potenzialmente se la macchina Windows da cui "tiri dentro" i file è
un Windows 7/2008 possono esserci svariati "problemi" di compatibilità
con Samba3... Prova intanto a disabilitare il controllo UAC se è un
client W7, e se invece il domain controller è un Windows 2008 (con
livello funzionale di Active Directory a Windows 2008 R2 non
retrocompatibile con W2003), mi pare d'aver capito dagli ultimi corsi M$
che non c'è verso di avere compatibilità piena con Samba, se non
passando a Samba4...
Possono essere queste parziali fonti del tuo problema?
Secondo me no, per due motivi:

1) i problemi di samba3 riguardavano l'interazione con l'autenticazione
di win7 e con le ultime versioni sono stati risolti

2) il motore dei file di samba4 è esattamente il demone di samba3 (una
specie di integrazione-downport)
--
Marco Ciampa

+--------------------+
| Linux User #78271 |
| FSFE fellow #364 |
+--------------------+
--
Per iscriversi (o disiscriversi), basta spedire un messaggio con OGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request-***@public.gmane.org
Loading...