User Tools

Site Tools


samba:accesscontrollists:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

samba:accesscontrollists:start [2025/09/20 12:51] – created - external edit 127.0.0.1samba:accesscontrollists:start [2025/09/21 16:28] (current) kurgan
Line 2: Line 2:
  
 In fstab occorre quindi specificare: In fstab occorre quindi specificare:
-<code>+ 
 +<code ->
 /dev/hdc1       /ud1            ext3    defaults,noatime,acl    0       2 /dev/hdc1       /ud1            ext3    defaults,noatime,acl    0       2
 </code> </code>
  
 per l'uso delle ACL, e: per l'uso delle ACL, e:
-<code>+ 
 +<code ->
 /dev/hdc1       /ud1            ext3    defaults,noatime,acl,user_xattr    0       2 /dev/hdc1       /ud1            ext3    defaults,noatime,acl,user_xattr    0       2
 </code> </code>
 +
 per l'uso delle ACL e degli attributi estesi. per l'uso delle ACL e degli attributi estesi.
  
 === Creazione e gestione delle ACL sul file system === === Creazione e gestione delle ACL sul file system ===
 +
 Quando si crea una directory da condividere con Samba usando le ACL, e` importante ricordare che occorre impostarne correttamente i permessi onde evitarsi casini pazzeschi dopo. Tipicamente la directory, se deve essere gestita principalmente da un gruppo puo` essere owned dal gruppo in questione, con il bit SGID settato, e poi le si possono applicare le ACL per gli altri gruppi o utenti, ricordando che oltre alle ACL vanno settate anche le DEFAULT ACL, in modo che quello che viene creato sotto di essa abbia le stesse ACL della directory iniziale. Quando si crea una directory da condividere con Samba usando le ACL, e` importante ricordare che occorre impostarne correttamente i permessi onde evitarsi casini pazzeschi dopo. Tipicamente la directory, se deve essere gestita principalmente da un gruppo puo` essere owned dal gruppo in questione, con il bit SGID settato, e poi le si possono applicare le ACL per gli altri gruppi o utenti, ricordando che oltre alle ACL vanno settate anche le DEFAULT ACL, in modo che quello che viene creato sotto di essa abbia le stesse ACL della directory iniziale.
  
 Per esempio, la directory "amministrazione" che deve venire usata dal gruppo amministrazione ma anche letta dagli acquisti e letta/scritta dalla direzione, io la imposterei cosi`: Per esempio, la directory "amministrazione" che deve venire usata dal gruppo amministrazione ma anche letta dagli acquisti e letta/scritta dalla direzione, io la imposterei cosi`:
  
-<code>+<code ->
 mkdir amministrazione mkdir amministrazione
  
Line 34: Line 38:
  
 In questo modo uso le ACL per dare accesso ai gruppi "secondari", lasciando il gruppo principale (amministrazione) impostato nei permessi "standard" di Linux. Ovviamente avrei potuto anche dare ownsership a root.root e inserire tutti i permessi di accesso degli utenti nelle ACL, gruppo principale compreso. In questo modo uso le ACL per dare accesso ai gruppi "secondari", lasciando il gruppo principale (amministrazione) impostato nei permessi "standard" di Linux. Ovviamente avrei potuto anche dare ownsership a root.root e inserire tutti i permessi di accesso degli utenti nelle ACL, gruppo principale compreso.
- 
  
 === Problema con le ACL e il "move" dei files === === Problema con le ACL e il "move" dei files ===
Line 43: Line 46:
  
 Se si e` fatto un move, e` possibile correggere le acl sul tree di destinazione cosi`: Se si e` fatto un move, e` possibile correggere le acl sul tree di destinazione cosi`:
-<code>+ 
 +<code ->
 cd /path/to/destination_dir cd /path/to/destination_dir
 getfacl . | setfacl -R --set-file=- * getfacl . | setfacl -R --set-file=- *
 </code> </code>
 +
 Questo comunque non corregge l'ownership, direi. Questo comunque non corregge l'ownership, direi.
  
 +=== Impostazioni in smb.conf ===
  
 +Se si vogliono usare le ACL posix su uno share, e` consigliabile impostare la mappatura degli attributi DOS su attributi estesi del file system e non sull'attributo X di user,group e other, questo perche` altrimenti si creano casini molesti fra le mask delle acl e quella standard dei permessi del file system. In proposito, vedi [[samba:attributiestesidos]]. Inoltre tipicamente si vorranno usare delle ACL di defualt ed ereditarle all'interno dell'albero di directory. Una imposazione di base per uno share con le ACL potrebbe essere la seguente:
  
-=== Impostazioni in smb.conf === +<code ->
-Se si vogliono usare le ACL posix su uno share, e` consigliabile impostare la mappatura degli attributi DOS su attributi estesi del file system e non sull'attributo X di user,group e other, questo perche` altrimenti si creano casini molesti fra le mask delle acl e quella standard dei permessi del file system. In proposito, vedi ..[[/AttributiEstesiDos]]. Inoltre tipicamente si vorranno usare delle ACL di defualt ed ereditarle all'interno dell'albero di directory. Una imposazione di base per uno share con le ACL potrebbe essere la seguente: +
-<code>+
 map archive = no map archive = no
 map system = no map system = no
Line 61: Line 66:
 inherit acls = yes          {le dir sotto ereditano le ACL di default da sopra (leggi man smb.conf!)} inherit acls = yes          {le dir sotto ereditano le ACL di default da sopra (leggi man smb.conf!)}
 </code> </code>
- 
  
 Tutto questo pero` va provato per vedere se ci sono aggiustamenti da fare, ovvero se in qualche situazione (tipo un utente che mette un file read-only da windows) ci sono effetti collaterali. Per essere precisi, andrebbero provate e verificate le impostazioni di mask e force che uso negli share senza ACL per vedere se e quali si applicano a quelli con le ACL. Tutto questo pero` va provato per vedere se ci sono aggiustamenti da fare, ovvero se in qualche situazione (tipo un utente che mette un file read-only da windows) ci sono effetti collaterali. Per essere precisi, andrebbero provate e verificate le impostazioni di mask e force che uso negli share senza ACL per vedere se e quali si applicano a quelli con le ACL.
- 
  
 === Docuemntazione varia === === Docuemntazione varia ===
  
-  * [[/ArticoloDiTerpstra]] (Sulla gestione delle ACL e la migrazione win-linux delle stesse) +  * [[ArticoloDiTerpstra]] (Sulla gestione delle ACL e la migrazione win-linux delle stesse) 
-  * [[attachment:manuale_acl.pdf]] (manuale introduttivo alle ACL Posix sul file system - valido)+  *  {{:samba:accesscontrollists:manuale_acl.pdf}}(manuale introduttivo alle ACL Posix sul file system - valido)
  
 === Backup e restore delle ACL === === Backup e restore delle ACL ===
  
-Quasi nessun sistema di backup supporte le ACL. Tar e afio (quindi tob) ad esempio non le supportano. +Quasi nessun sistema di backup supporte le ACL. Tar e afio (quindi tob) ad esempio non le supportano. Al momento le due soluzioni possibili sono:
-Al momento le due soluzioni possibili sono:+
  
-  * Usare "star" (http://sourcewell.berlios.de/appbyid.php?id=1036) +  * Usare "star" ([[http://sourcewell.berlios.de/appbyid.php?id=1036]]
-  * Usare il sistema classico (tar, afio, ecc) e {{{getfacl -R > file}}} / ''setfacl --restore=file''+  * Usare il sistema classico (tar, afio, ecc) e ''getfacl -R > file'' / ''setfacl --restore=file''
  
 Questo e` un esempio (imperfetto) di comando di backup e verify con star: Questo e` un esempio (imperfetto) di comando di backup e verify con star:
-<code>+ 
 +<code ->
 star cvzf /mnt/ud1_dati.star.gz -acl -xattr -artype=exustar --block-number  /ud1/dati/ > /mnt/star.log star cvzf /mnt/ud1_dati.star.gz -acl -xattr -artype=exustar --block-number  /ud1/dati/ > /mnt/star.log
 star -diff -xattr -/ -z -f /mnt/ud1_dati.star.gz star -diff -xattr -/ -z -f /mnt/ud1_dati.star.gz
Line 86: Line 89:
  
 Questo e` un esempio di restore con tutti gli attributi e le ACL: Questo e` un esempio di restore con tutti gli attributi e le ACL:
-<code>+ 
 +<code ->
 star xzpf test2.star.gz  -xattr -acl  -C <directory di output>  star xzpf test2.star.gz  -xattr -acl  -C <directory di output> 
 </code> </code>
  
 Restore di un singolo file salvandolo nella directory "dir_recover" anziche` nella sua directory originale (notare gli apici e il fatto che manca lo slash all'inizio del nome del file da recuperare): Restore di un singolo file salvandolo nella directory "dir_recover" anziche` nella sua directory originale (notare gli apici e il fatto che manca lo slash all'inizio del nome del file da recuperare):
-<code>+ 
 +<code ->
 star zxpf test2.star.gz -xattr -acl -C dir_recover 'ud1/test3/acquisti/file.xls' star zxpf test2.star.gz -xattr -acl -C dir_recover 'ud1/test3/acquisti/file.xls'
 </code> </code>
  
 Restore di files che matchano un pattern, salvandoli nella dir corrente. Questo restora i files che contengono "ECO" nel nome. (lo slash viene strippato quindi non vai a sovrascrivere nulla a meno che non li restori in /): Restore di files che matchano un pattern, salvandoli nella dir corrente. Questo restora i files che contengono "ECO" nel nome. (lo slash viene strippato quindi non vai a sovrascrivere nulla a meno che non li restori in /):
-<code>+ 
 +<code ->
 star zxpf test2.star.gz -xattr -acl pattern='*ECO*' star zxpf test2.star.gz -xattr -acl pattern='*ECO*'
 </code> </code>
- 
  
 === Nota importante === === Nota importante ===
  
 Le acl su ext3 ed ext2 hanno sofferto di un baco che provoca la perdita delle default ACL su una directory in determinati casi, ben poco ripetibili. il problema dovrebbe essere risolto a partire dalla patch versione 0.8.72. Le acl su ext3 ed ext2 hanno sofferto di un baco che provoca la perdita delle default ACL su una directory in determinati casi, ben poco ripetibili. il problema dovrebbe essere risolto a partire dalla patch versione 0.8.72.
-<code>+ 
 +<code ->
 >    I  have  read   the  old  messages  about  the issue where default ACLs >    I  have  read   the  old  messages  about  the issue where default ACLs
 >    sometimes  disappear from folders using ext3, but I have not understood >    sometimes  disappear from folders using ext3, but I have not understood
Line 115: Line 121:
  
 I kernel debian fino a 2.4.27-10 e fino a 2.6.8-16 (alla data del 8/8/2005 non ci sono ancora le fix, che immagino andranno nelle versioni 11 e 17 rispettivamente) sono bacati. Le versioni successive dovrebbero avere il baco messo a posto. Sicuramente e` a posto il kernel 2.6.12 debian. Per il momento, comunque, qui c'e` la patch: I kernel debian fino a 2.4.27-10 e fino a 2.6.8-16 (alla data del 8/8/2005 non ci sono ancora le fix, che immagino andranno nelle versioni 11 e 17 rispettivamente) sono bacati. Le versioni successive dovrebbero avere il baco messo a posto. Sicuramente e` a posto il kernel 2.6.12 debian. Per il momento, comunque, qui c'e` la patch:
-<code>+ 
 +<code ->
 --- fs/ext2/xattr.c     2005-08-09 17:59:44.000000000 +0900 --- fs/ext2/xattr.c     2005-08-09 17:59:44.000000000 +0900
 +++ fs/ext2/xattr.c     2005-08-09 17:59:46.000000000 +0900 +++ fs/ext2/xattr.c     2005-08-09 17:59:46.000000000 +0900
Line 138: Line 145:
 </code> </code>
  
-La patch si puo` anche scaricare qui: [[attachment:xattr-sharing.patch]] e si applica con "patch -p0"+La patch si puo` anche scaricare qui: {{ :samba:accesscontrollists:xattr-sharing.patch }} e si applica con "patch -p0" 
  
samba/accesscontrollists/start.1758372660.txt.gz · Last modified: by 127.0.0.1