Author: sylvain letuffe Date: To: guilde Subject: Re: /var/www/site et droits
Le dimanche 2 novembre 2008 12:54, diam nephea a écrit : > Comment puis-je donner accès à un répertoire par utilisateur dans
> /var/www/site1,2,3 j'ai créer des comptes linux pour faire du sftp je ne
> veux pas utiliser du ftp mais il n'ont pas le droit d'écrire Quelle est
> donc la bonne marche à suivre pour ouvrir uniquement au user concerné?
remarque /var:
-------------------
tout d'abord l'utilisation de /var pour entreposer des sites et des
répertoires utilisateurs me semble en désaccord avec la philosophie UNIX
d'une arborescence.
Certes apache installe par défaut un site dans /var/www mais il s'agit juste
d'une "preuve que ça marche" à l'installation, pour ma part j'ai pour
habitude de ranger des sites dans /home
ou alors dans /sites
Mais bon, a chacun sa philosophie du rangement ;-)
remarques sftp :
-------------------
sftp, c'est sûr que c'est pratique et sécurisé, mais pour l'instant (a part
faire des chroot compliqués ) c'est pas facile d'enfermer un utilisateur dans
son $HOME, il faut donc bien avoir conscience qu'il pourra se balader
dans "/" et peut-être y lire des informations de sécurité qu'il est
préférable qu'il ne voit pas ;-)
La nouvelle mouture de openssh semble proposer un nouveau mécanisme de "jail"
et retrouver le fonctionnement tant souhaité des serveurs ftp :
"defaultroot = ~"
remarques apache et utilisateur www-data
------------------------------------------------------
Le système de droit entre l'utilisateur qui pose en ftp, et les droits de
apache qui va executer et peut être écrire des fichiers est un casse tête.
1) sécurité : si un utilisateur écris un script php qui fait
fopen("../site2/config.php") il pourra lire les infos des autres, pas
terrible
2) plétore de droit : si un script écrit un fichier, les droits seront ceux de
apache (www-data) et l'utilisateur ne pourra plus l'éffacer par sftp (à moins
de penser à foutre des chmod 777 partout )
Solution : j'ai découvert (pour php) le module apache nommé suphp, il permet
l'execution de script avec les drois du propriétaire du script, ça règle
plein de problème !
( il existe aussi suexec pour gérer les autres binaires )