GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo configurar PHP CLI en linux ubuntu para ejecutar como www-data?

Ejecute un comando como otro usuario una vez:

sudo -u www-data php script.php

Esto debería funcionar si eres root .

En cuanto a ejecutar siempre php como www-data , hay varias posibilidades. Puede crear un shellscript de envoltura simple. Si /usr/bin/php es solo un enlace suave a /usr/bin/php5 o similar, que lo hace más sencillo. Simplemente reemplace el enlace suave (NO el archivo php5 ) con un script como este:

#!/bin/sh

sudo -u www-data php5 $*

return $?

Aunque eso no está probado. También tenga en cuenta que esto SIEMPRE intentará ejecutar php5 como usuario www-data , incluso si el usuario no puede ser root y es posible que no tenga permiso para hacerlo. Y también puede que no sea lo que realmente quieres. Algunos servicios instalados pueden tener problemas al intentar ejecutar php.

Una solución (posiblemente mejor) para aplicar solo eso a la raíz puede ser dejar el enlace suave /usr/bin/php solo y coloque el script en /root/bin en cambio. Luego agregue esa carpeta a PATH a través de .bashrc , .profile o similar. Si tienes /etc/skel/.profile , que puede señalar cómo se hace eso:

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

Una vez que esté en su .bashrc , .profile o similar, cada nuevo shell que abra le permitirá ejecutar directamente cualquier ejecutable (+x) en $HOME/bin (/root/bin para raíz).

Sugerencia:es posible que desee nombrar la secuencia de comandos contenedora algo así como phpwww por lo que especifica explícitamente php script.php o phpwww script.php para decidir si desea php regular o sudo.

Otra solución es un alias simple. Coloca esto en tu .bashrc , .profile o similar:

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

Linux
  1. ¿Cómo ejecutar comandos bash de Linux en un script PERL?

  2. Linux:¿cómo ejecutar un script en el bloqueo/desbloqueo de la pantalla?

  3. Compilar un script PHP en Linux

  4. ¿Cómo ejecutar el script de python en la terminal (ubuntu)?

  5. ¿Cómo ejecutar un script en segundo plano (linux openwrt)?

Cómo instalar y configurar KVM en Ubuntu Linux

Cómo instalar y configurar XAMPP en Ubuntu Linux

Cómo instalar y configurar Nagios en Ubuntu Linux

Cómo instalar y configurar PHP OPcache en Ubuntu 18.04

Cómo crear y ejecutar un script de shell en Ubuntu 22.04

Cómo instalar y configurar CLI angular en distribuciones de Linux