J'ai créé plusieurs sites Web. Maintenant, je dois effectuer des tâches root
. J'ai créé une plate-forme Web et installé. root
possède tous les scripts dans /var/private-www/
et ils sont chmodded (0777). Au /var/private-www/test.php
se trouve: <?php echo exec('whoami'); ?>
. Ma config suPHP
est la suivante:suPHP exécuter le script PHP en tant que root
[global]
;Path to logfile
logfile=/var/log/suphp/suphp.log
;Loglevel
loglevel=info
;User Apache is running as
webserver_user=root
;Path all scripts have to be in
docroot=/var/private-www
;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=true
;Send minor error messages to browser
errors_to_browser=false
;PATH environment variable
env_path=/bin:/usr/bin
;Umask to set, specify in octal notation
umask=0077
; Minimum UID
min_uid=0
; Minimum GID
min_gid=0
[handlers]
;Handler for php-scripts
application/x-httpd-suphp="php:/usr/bin/php-cgi"
;Handler for CGI-scripts
x-suphp-cgi="execute:!self"
Quand j'exercerai test.php
dans mon navigateur Web, il est dit:.. www-data
:(Pas root
... Même quand je l'exécute dans la ligne de commande En plus, je l'ai fait a2enmod suphp
et apachectl restart
, donc je pensais que cela fonctionnerait Comment puis-je résoudre ce problème
Je suppose que vous savez à quel point ** c'est incroyablement dangereux ** d'exécuter n'importe quelle application accessible en ligne en tant que root, et combien de fois vous êtes sur le point d'entendre cela? – Charles
Oui, mais comment est-il possible de faire des choses comme 'adduser' sur une plate-forme Web? : ( –
un démon et une file d'attente de travail et/ou un travail cron peuvent facilement effectuer ces tâches – Charles