Permissions sur un dossier vhost

Bonjour,
je monte un serveur Web Apache avec mes vhosts :
/var/www/monsite1.com
/var/www/monsite2.com
Chacun ayant son propre propriétaire user1 et user2.
Chaque vhost a 2 sous dossiers : logs et public
J’ai essayé :

[code]# création du dossier racine vhost
mkdir /var/www/monsite1.com

#création du user1
useradd --home /var/www/monsite1.com -m -s /bin/bash user1

création des sous dossiers

mkdir /var/www/monsite1.com/logs
mkdir /var/www/monsite1.com/public

user1 est propriétaire de son home

chown -R user1:user1 /var/www/monsite1.com

permissions

chmod -R 755 /var/www/monsite1.com

seul www-data peut supprimer et modifier logs

chown -R www-data:www-data /var/www/monsite1.com/logs

user1 ne peut pas supprimer public mais peut modifier son contenu

chown -R www-data:user1 /var/www/monsite1.com/public[/code]
malheureusement user1 peut par exemple renommer logs et public… contrairement à ce que je souhaite. J’ai essayé pleins de combinaisons sans succès car je ne suis pas alaise avec ces droits…

Quelqu’un pourrait-il me corriger SVP ?
Merci d’avance !

:unamused:

Pour bien faire, ne faudrait-il pas intégrer user1 et user2 au groupe www-data ?

Regardes eventuellement symfony.com/doc/current/book/installation.html
La partie intéressante concerne setfacl.

:119 je vois pas ce qui pourrait m’aider…

Ca permet de donner à un utilisateur les droits d’écritures sur un répertoire appartenant à un autre.
Edit, je parlais de ces commandes :

$ HTTPDUSER=`ps axo user,comm | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\ -f1` $ sudo setfacl -R -m u:"$HTTPDUSER":rwX -m u:`whoami`:rwX var/cache var/logs $ sudo setfacl -dR -m u:"$HTTPDUSER":rwX -m u:`whoami`:rwX var/cache var/logs

Pour info, dans symfony /var/cache et /var/log sont écrit par www-data et réinitialisé en ligne de commande. J’avais toujours des problèmes que je réglais en passant root et/ou en changeant le propriétaire dans ces 2 répertoires. Maintenant c’est règlé sans avoir besoin de root.

En mettant les bons répertoires et les users que tu souhaites (à la place de whoami) ca me semble devoir règler ton problème.

Edit 2, Effectivement, je pense que j’avais mal compris ton problème.

Voici la dernière version du système vhosts/permissions
Pour rappel, un user par vhost (cloisonné) avec utilisation de ProFTPd (avec directive DefaultRoot ~)
user1 et user2 peuvent accéder aux dossiers backups, logs et public mais ne peuvent pas modifier le contenu des dossiers backups et logs.

useradd --home /var/www/monsite1.com -m -s /bin/bash user1 useradd --home /var/www/monsite2.com -m -s /bin/bash user2 groupadd ftp gpasswd -a proftpd ftp gpasswd -a user1 ftp gpasswd -a user2 ftp gpasswd -a www-data monsite1com gpasswd -a www-data monsite2com

root@debian:~# find /var/www/ -not -path "/var/www/monsite1.com/public/*" | xargs stat -c "%n %a %A %U %G" | column -t /var/www/ 755 drwxr-xr-x root root /var/www/html 755 drwxr-xr-x root root /var/www/html/index.html 644 -rw-r--r-- root root /var/www/monsite1.com 750 drwxr-x--- www-data ftp /var/www/monsite1.com/public 750 drwxr-x--- user1 monsite1com /var/www/monsite1.com/public.index.php 640 -rw-r----- user1 monsite1com /var/www/monsite1.com/logs 750 drwxr-x--- www-data ftp /var/www/monsite1.com/logs/monsite1.com-error.log 640 -rw-r----- www-data ftp /var/www/monsite1.com/logs/monsite1.com-access.log 640 -rw-r----- www-data ftp /var/www/monsite1.com/backups 750 drwxr-x--- www-data ftp /var/www/monsite1.com/backups/datas 750 drwxr-x--- www-data ftp /var/www/monsite1.com/backups/mysql 750 drwxr-x--- www-data ftp /var/www/monsite1.com/backups/mysql/2015-12-03.sql 640 -rw-r----- www-data ftp
Qu’en pensez-vous :question: