GNU/Linux >> Tutoriels Linux >  >> Linux

Comment configurer PHP CLI sur Linux Ubuntu pour qu'il s'exécute en tant que www-data ?

Exécutez une commande en tant qu'autre utilisateur :

sudo -u www-data php script.php

Cela devrait fonctionner si vous êtes root .

Quant à toujours exécuter php en tant que www-data , il y a plusieurs possibilités. Vous pouvez créer un shellscript wrapper simple. Si /usr/bin/php n'est qu'un lien symbolique vers /usr/bin/php5 ou similaire, cela simplifie les choses. Remplacez simplement le lien symbolique (PAS le fichier php5 ) avec un script comme celui-ci :

#!/bin/sh

sudo -u www-data php5 $*

return $?

Ce n'est pas testé cependant. Sachez également que cela essaiera TOUJOURS d'exécuter php5 en tant qu'utilisateur www-data , même si l'utilisateur n'est peut-être pas root et peut ne pas avoir la permission de le faire. Et ce n'est peut-être pas non plus ce que vous voulez vraiment. Certains services installés peuvent rencontrer des problèmes lors de l'exécution de php.

Une solution (peut-être meilleure) pour ne l'appliquer qu'à root peut être de laisser le lien symbolique /usr/bin/php seul et placez le script en /root/bin Au lieu. Ajoutez ensuite ce dossier à PATH via .bashrc , .profile ou similaire. Si vous avez /etc/skel/.profile , cela peut indiquer comment cela se fait :

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

Une fois que c'est dans votre .bashrc , .profile ou similaire, chaque nouveau shell que vous ouvrez vous permettra d'exécuter directement tous les exécutables (+x) en $HOME/bin (/root/bin pour la racine).

Astuce :Vous pouvez nommer le script wrapper quelque chose comme phpwww donc vous spécifiez explicitement php script.php ou phpwww script.php pour décider si vous voulez du php normal ou sudo.

Une autre solution est un simple alias. Placez ceci dans votre .bashrc , .profile ou similaire :

alias phpwww='sudo -u www-data php'

Linux
  1. Comment exécuter une commande Linux bash dans un script PERL ?

  2. Linux - Comment exécuter un script sur le verrouillage/déverrouillage de l'écran ?

  3. Compiler un script PHP sous Linux

  4. Comment exécuter un script python sur un terminal (ubuntu) ?

  5. Comment ajouter un shebang # ! avec un script php sous linux?

Comment installer et configurer KVM sur Ubuntu Linux

Comment installer et configurer XAMPP sur Ubuntu Linux

Comment installer et configurer Nagios dans Ubuntu Linux

Comment installer et configurer PHP OPcache sur Ubuntu 18.04

Comment créer et exécuter un script shell dans Ubuntu 22.04

Comment installer et configurer Angular CLI sur les distributions Linux