Droits sur les fichiers dans un projet [ADDED]

FreeWeb est une fonctionnalité permettant à Artica d'administrer des espaces web avec Apache et Pure-ftpd

Droits sur les fichiers dans un projet [ADDED]

New postby guidtz » Sat Apr 23, 2011 2:39 am

Hello,

pourrais t'on restreindre les droits sur les fichiers dans les projets. Pour le moment les droits sont en 755 pour les fichiers et répertoires je trouve ça un peu trop permissif. Habituellement j'ai un petit script que je fais tourner en mettant les sites en place qui restreint les droits comme ceci :

Pour les répertoires : chmod 2570
Pour les fichiers : chmod 0460

Sauf pour certains répertoires particuliers (wp-content pour wordpress, files pour apache ...) pour lesquels les droits sont :
Pour les répertoires : chmod 2770
Pour les fichiers : chmod 0660

Et la possibilité de rajouter d'autres répertoires avec des droits moins restreints aux cas zou :

Mon script ressemble à ceci :
Code: Select all
#!/bin/bash
#user_rights
#reinitialisation des droits des users
BASEPATH="/var/www/project/"

#defaults
# searching everywhere except var directory
echo "default directory/files chown on ${BASEPATH}";
find ${BASEPATH}  \( -type d -path ${BASEPATH}var -prune \) -o -type d -exec chown www-data:www-data {} \;
find ${BASEPATH}  \( -type d -path ${BASEPATH}var -prune \) -o -type f -exec chown www-data:www-data {} \;
echo "default directory chmod on ${BASEPATH}";
find ${BASEPATH}  \( -type d -path ${BASEPATH}var -prune \) -o -type d -exec chmod 2570 {} \;
echo "default file chmod on ${BASEPATH}";
find ${BASEPATH}  \( -type d -path ${BASEPATH}var -prune \) -o -type f -exec chmod 0460 {} \;

# rules for directory files for each sites
echo "write rights on ${BASEPATH}/htdocs/wp-content";
echo " *chown";
find ${BASEPATH}htdocs/wp-content -exec chown www-data:www-data {} \;
echo " *chmod dir";
find ${BASEPATH}htdocs/wp-content -type d -exec chmod 2770 {} \;
echo " *chmod files";
find ${BASEPATH}htdocs/wp-content -type f -exec chmod 0660 {} \;

echo "write rights on ${BASEPATH}/htdocs/wp-admin/includes";
echo " *chown";
find ${BASEPATH}htdocs/wp-admin/includes -exec chown www-data:www-data {} \;
echo " *chmod dir";
find ${BASEPATH}htdocs/wp-admin/includes -type d -exec chmod 2770 {} \;
echo " *chmod files";
find ${BASEPATH}htdocs/wp-admin/includes -type f -exec chmod 0660 {} \;

#* Apache files
echo "apache files ${BASEPATH}/etc";
chown root:www-data ${BASEPATH}/etc/*.conf
chmod 0640  ${BASEPATH}/etc/*.conf

#some are different on var
echo "treating ${BASEPATH}/var";
#tmp
echo " *${BASEPATH}/var/tmp";
chown root:root ${BASEPATH}/var/tmp/
#find ${BASEPATH}/var/tmp -type d -exec chmod 1777 {} \;
chmod 1777 ${BASEPATH}/var/tmp


#./var/log
echo " *${BASEPATH}/var/log";
find ${BASEPATH}/var/log -type d -exec chmod 2770 {} \;
find ${BASEPATH}/var/log -type f -exec chmod 0660 {} \;
find ${BASEPATH}/var/log -type d -exec chown root:www-data {} \;
find ${BASEPATH}/var/log -type f -exec chown root:www-data {} \;

#and we need some exec rights on admin scripts
echo "scripts";
chmod 0770 ${BASEPATH}/scripts/*.sh;
chown root:www-data ${BASEPATH}/scripts/*.sh;

#./var/tmp/upload
echo " *${BASEPATH}/var/tmp/upload";
chown www-data:www-data ${BASEPATH}/var/tmp/upload
find ${BASEPATH}/var/tmp/upload -type d -exec chmod 1770 {} \;
find ${BASEPATH}/var/tmp/upload -type f -exec chmod 0660 {} \;
find ${BASEPATH}/var/tmp/upload/ -type d -exec chown www-data:www-data {} \;

#root
chown www-data:www-data ${BASEPATH};


Par contre il peut être assez lent à exécuter lorsqu'il y a beaucoup de fichiers dans le projet (des projets Dokeos par exemple).

Peut être as tu une meilleure idée mais l'idée générale est de limiter au maximum les droits sur le système de fichier en cas d'intrusion.

Slts
guidtz
 
Posts: 2007
Joined: Sat Jan 17, 2009 3:08 am
Location: Vendée
Artica servers number: 3
Linux System: Debian
Technical skills: A Linux System Administrator

1.5.042602

New postby admin » Tue Apr 26, 2011 12:25 am

Ajouté en v1.5.042602
Je t'invites à télécharger la doc
http://www.artica.fr/download/artica.doc.pdf
Page 106

et une petite surprise en page 115 ;)
User avatar
admin
Site Admin
 
Posts: 11943
Joined: Wed Oct 17, 2007 7:59 am
Location: France


Return to FreeWeb

Who is online

Users browsing this forum: No registered users and 1 guest

cron