Saltar al contenido

Otorgar permisos a un usuario en www-data propiedad / var / www

Este equipo de especialistas despúes de días de investigación y de juntar de datos, hallamos los datos necesarios, queremos que te sea útil para tu plan.

Solución:

Si verificamos la propiedad del sitio1, encontraremos algo como esto,

ls -ld /var/www/site1/
drwxr-xr-x 2 root root 4096 Oct 24 21:06 site1/

Esto significa que el directorio es propiedad del usuario raíz, grupo raíz. Mientras que la raíz del usuario tiene permiso de escritura (además de permisos de lectura y ejecución) en el directorio, la raíz del grupo solo tiene permisos de lectura y ejecución.

Querremos cambiar la propiedad del grupo a otra (nuevo) group y agregue user1 a ese grupo en particular. También daremos permiso de escritura a ese grupo en particular.

Crea un nuevo grupo,

sudo addgroup site1

Agregue user1 al grupo recién creado,

sudo adduser user1 site1

Compruebe que el usuario1 esté realmente en ese grupo,

groups user1

La salida debería ser una lista como,

user1 :  site1

Ahora podemos cambiar la propiedad del grupo de su directorio deseado.

sudo chown -vR :site1 /var/www/site1/
changed ownership of `/var/www/site1/' from root:root to :site1

Otorga permiso de escritura a este nuevo propietario de grupo,

sudo chmod -vR g+w /var/www/site1/
mode of `/var/www/site1/' changed from 0755 (rwxr-xr-x) to 0775 (rwxrwxr-x)

Compruebe que todos los cambios estén ahí,

ls -ld /var/www/site1/
drwxrwxr-x 2 root site1 4096 Oct 24 21:06 /var/www/site1/

Entonces, el directorio ahora es propiedad del usuario raíz, grupo site1. Tanto el usuario raíz como el grupo site1 tienen permiso de escritura (además de permisos de lectura y ejecución) en el directorio. Cualquier usuario que pertenezca al grupo site1 disfrutará de todos los privilegios otorgados a ese grupo.

Ahora inicie sesión como usuario1, vaya al directorio site1 e intente crear un archivo en ese directorio,

echo "My User1 Site" > index.html 
bash: index.html: Permission denied

Esto falló porque lo más probable es que el grupo principal de user1 no sea site1. Entonces, cámbiate a ese grupo.

newgrp - site1

Intente volver a crear el archivo (tenga en cuenta que lo han movido al directorio de inicio de user1 después de cambiar de grupo), esto debería funcionar ahora. Dado que los archivos creados tendrán permiso de lectura mundial, apache (o su servidor web) no debería tener ningún problema para acceder a ellos.

EDITAR

Además, como señaló dan08 en el comentario, debe agregar www-data al grupo site1.

sudo adduser www-data site1

En muchas (no todas) distribuciones, www-data es el usuario bajo el cual se ejecuta el servidor web Apache. Esto también significa que todo lo que haga Apache (especialmente, incluidos los scripts PHP) se hará con los permisos del usuario www-data (y también del grupo www-data) de forma predeterminada. WordPress usa los datos www del usuario para escribir archivos.

Si desea ver cómo se está ejecutando el servidor web apache, emita el comando,

ps aux | grep apache2 | less

Para aquellos que tienen su carpeta raíz de wordpress en su carpeta de inicio:

Ubuntu / apache

  1. Agregue su usuario al grupo www-data:

    CRÉDITO Concesión de permisos de escritura a www-data group

    Quieres llamar usermod en su usuario. Entonces eso sería:

    sudo usermod -aG www-data yourUserName
    

    Asumiendo www-data el grupo existe

  2. Comprueba que tu usuario está en www-data grupo:

    groups yourUserName
    

    Deberías obtener algo como:

    yourUserName : yourUserGroupName www-data
    

    yourUserGroupName suele ser similar a su nombre de usuario

  3. Cambie de forma recurrente la propiedad de grupo de la carpeta manteniendo la propiedad de su usuario

    chown yourUserName:www-data -R yourWebSiteFolder/*
    
  4. Cambie el directorio a yourWebSiteFolder

    cd yourWebSiteFolder
    
  5. Cambie de forma recurrente los permisos de grupo de las carpetas y subcarpetas para habilitar los permisos de escritura:

    find . -type d -exec chmod -R 775  ;
    

    modo de /home/yourUserName/yourWebSiteFolder/' cambiaron desde 0755 (rwxr-xr-x) a 0775 (rwxrwxr-x)

  6. Cambie de forma recursiva los permisos de grupo de los archivos y subarchivos para habilitar los permisos de escritura:

    find . -type f -exec chmod -R 664  ;
    

    El resultado debería tener un aspecto similar al siguiente:

    WAS:
    -rw-r--r--  1 yourUserName www-data  7192 Oct  4 00:03 filename.html
    CHANGED TO:
    -rw-rw-r--  1 yourUserName www-data  7192 Oct  4 00:03 filename.html
    

    Equivalente a:

    chmod -R ug+rw foldername
    

    Los permisos serán como 664 o 775.

Crea dos grupos: site1grp y site2grp

sudo groupadd site1grp && sudo groupadd site2grp

Agregar www-data a ambos grupos.

sudo adduser www-data site1grp && sudo adduser www-data site2grp

Agregue user1 y user2 a los grupos apropiados

sudo adduser user1 site1grp && sudo adduser user2 site2grp

Cambie el permiso de las carpetas de su sitio para que el propietario del usuario sea www-data y el propietario del grupo sea el grupo apropiado

sudo chown -R www-data:site1grp /var/www/site1  && sudo chown -R www-data:site2grp /var/www/site2

Ahora www-data tiene los permisos de usuario y de grupo en ambos sitios y cada usuario tiene los permisos de grupo para su sitio respectivo.

No se te olvide comunicar este ensayo si te fue de ayuda.

¡Haz clic para puntuar esta entrada!
(Votos: 2 Promedio: 4)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *