Ho configurato (o sto cercando di configurare) le acl per una dir del mio computer.
La directory è la dir "www" sotto la dir /media/ext, che è una partizione montata:
codice:
/dev/sda3 on /media/ext type ext3 (rw,acl)
Come potete vedere dal comando mount la partizione è montata con l'opzione acl.
Ora, quello che mi interessa fare, è fare in modo che in /media/ext/www/ possano scrivere il mio utente con il quale scrivo e sposto files in continuazione da questa directory in modi diversi (cp, mv, utilizzo di eclipse ecc) e l'utente www-data, con il quale gira il webserver.
Cosi ho dato un:
codice:
root@dune:/media/ext/www# chown gianiaz:www-data /media/ext/www/
root@dune:/media/ext/www# find . -type f -exec chmod 644 {} \;
root@dune:/media/ext/www# find . -type f -exec chmod 775 {} \;
In questo modo i files hanno i permessi corretti per permettermi di editarli da utente e da webserver.
Ora il problema è fare in modo che i files creati da gianiaz siano impostati con gruppo www-data, quindi per poterlo fare dopo ho settato il group id bit, in modo che i nuovi files di default abbiano assegnato il gruppo della dir genitore e non della shell.
codice:
root@dune:/media/ext/www# chmod g+s /media/ext/www/
Quindi se da utente gianiaz entro in media /media/ext/www/ e digito
codice:
gianiaz@dune:/media/ext/www$ touch test
gianiaz@dune:/media/ext/www$ ls -la test
-rw-rw-r--+ 1 gianiaz www-data 0 2010-05-13 08:30 test
vedo che il file viene creato correttamente con i giusti permessi, il problema si pone se un file viene creato dall'utente www-data, in quanto avrà proprietario e gruppo www-data, e con gianiaz non potrò editare questi files, cosi ho aggiunto gianiaz al gruppo www-data:
codice:
root@dune:/media/ext/www# adduser gianiaz www-data
Ora per essere sicuro che i files vengano creati con i giusti permessi ho anche lanciato il comando :
codice:
setfacl -m d:u::rwx,d:g::rwx,d:m:rwx,d:o:r-x /media/ext/www/
Ora il problema
Da utente www-data creo una directory, creo un file al suo interno e vedo questo:
codice:
drwxrwSr-x+ 2 www-data www-data 4096 2010-05-13 08:12 test.www
Come utente appartenente al gruppo www-data dovrei poter entrare nella dir ed editare il file, invece vedo questo:
codice:
gianiaz@dune:/media/ext/www$ cd test.www/
bash: cd: test.www/: Permesso negato
gianiaz@dune:/media/ext/www$ ls -la test.www/
ls: impossibile accedere a test.www/..: Permesso negato
ls: impossibile accedere a test.www/test: Permesso negato
ls: impossibile accedere a test.www/.: Permesso negato
totale 0
d????????? ? ? ? ? ? .
d????????? ? ? ? ? ? ..
-????????? ? ? ? ? ? test
gianiaz@dune:/media/ext/www$
Come mi facevano notare, ho una S maiuscola nei permessi che non so bene cosa voglia dire, e dopo tutte queste prove non so bene dove sono andato a parare, qualcuno può darmi una mano?
Grazie