Archives de catégorie : Informatique

L’informatique est un domaine vaste et complexe qui englobe de nombreux aspects. Voici quelques définitions possibles :

Au sens large, l’informatique est la science du traitement automatique de l’information. Cela inclut la conception et le développement de systèmes informatiques, la programmation, la gestion de données, les réseaux informatiques, la sécurité informatique, l’intelligence artificielle, et bien plus encore.

suPHP – Ou comment éxecuter des scripts PHP avec des droits restreint

Afin d’ins­tal­ler suPHP vous devez déjà dis­po­ser d’Apa­che sur votre ser­veur

Remarque sur l’uti­li­sa­tion :

Il faut à pré­sent défi­nir les droits des fichiers de vos sites pour que cha­cun devienne indé­pen­dant. Exem­ple pour un uti­li­sa­teur fic­tif « toto » ayant accès uni­que­ment à tous les sous-dos­siers à par­tir de /toto :

chown -R toto:toto /var/www/domaine_1/sous_dossier

Par ailleurs, il faut savoir deux cho­ses sur l’uti­li­sa­tion de suPHP :

1. Le dos­sier con­te­nant les fichiers d’un uti­li­sa­teur doit éga­le­ment appar­te­nir à cet uti­li­sa­teur. C’est à dire que /sous_dos­sier doit appar­te­nir à toto pour que celui-ci puisse exé­cu­ter les fichiers dans le dos­sier.
2. Les autres dos­siers parents doi­vent obli­ga­toi­re­ment appar­te­nir à l’uti­li­sa­teur root:root, Dans notre exem­ple /var/www/domaine_1 doit appar­te­nir à root:root sous peine d’obte­nir une erreur 500 dans votre navi­ga­teur

NB il peux être inté­res­sant de défi­nir ça dans /etc/skel qui est le sque­lette des réper­toire uti­li­sa­teur.

Configuration du module mod_suphp.c :

vi /etc/apache2/mods-available/suphp.conf
<IfModule mod_suphp.c>
 AddType application/x-httpd-php .php .phtml .php3 .php4 .php5
 AddType application/x-httpd-php-source .phps
 AddHandler x-httpd-php .php .php3 .php4 .php5
 <Location />
 SuPHP_AddHandler x-httpd-php
 </Location>
 suPHP_ConfigPath /etc/php5/cgi
 suPHP_Engine on
 </IfModule>
a2enmod suphp

a2enmod suphp ermet d’activer le module Apache, qui n’est autre qu’un lien symbolique (ln -s /etc/apache2/mods-available/suphp.conf /etc/apache2/mods-enabled/)

La configuration de suPHP :

vi /etc/suphp/suphp.conf
[global]
 ;Path to logfile
 logfile=/var/log/suphp/suphp.log
;Loglevel
 loglevel=info
;User Apache is running as
 webserver_user=www-data
;Path all scripts have to be in
 docroot=/
;Path to chroot() to before executing script
 ;chroot=/mychroot
; Security options
 allow_file_group_writeable=false
 allow_file_others_writeable=false
 allow_directory_group_writeable=false
 allow_directory_others_writeable=false
;Check wheter script is within DOCUMENT_ROOT
 check_vhost_docroot=false
;Send minor error messages to browser
 errors_to_browser=true
;PATH environment variable
 env_path=/bin:/usr/bin:/usr/sbin:/sbin
;Umask to set, specify in octal notation
 umask=022
; Minimum UID
 ; sur debian Apache (www-data) à l’uid 33
 min_uid=33
; Minimum GID
 min_gid=33
[handlers]
 ;Handler for php-scripts
 x-httpd-php=php:/usr/bin/php5-cgi
;Handler for CGI-scripts
 x-suphp-cgi=execute:!self