your you www permission need may into depending data correct apache permissions sudo

apache - you - linux permissions chmod



¿Permisos de www-data? (2)

Como se afirma en un artículo de Slicehost :

Configuración del usuario

Comencemos agregando el usuario principal al grupo de usuarios de Apache:

sudo usermod -a -G www-data demo

Eso agrega la ''demo'' del usuario al grupo ''www-data''. Asegúrate de utilizar las opciones -a y -G con el comando usermod que se muestra arriba.

Tendrá que cerrar sesión y volver a iniciar sesión para habilitar el cambio de grupo.

Verifique los grupos ahora:

groups ... # demo www-data

Así que ahora soy miembro de dos grupos: el mío (demo) y el grupo Apache (www-data).

Configuración de carpeta

Ahora debemos asegurarnos de que la carpeta public_html sea propiedad del usuario principal (demo) y forme parte del grupo Apache (www-data).

Vamos a configurar eso:

sudo chgrp -R www-data /home/demo/public_html

Como estamos hablando de permisos, agregaré una nota rápida sobre el comando sudo: es un buen hábito usar rutas absolutas (/ home / demo / public_html) como se muestra arriba en lugar de rutas relativas (~ / public_html). Asegura que sudo se usa en la ubicación correcta.

Si tiene una carpeta public_html con enlaces simbólicos, tenga cuidado con ese comando ya que seguirá los enlaces simbólicos. En los casos de una carpeta public_html que funcione, cambie cada carpeta a mano.

Setgid

Bien hasta ahora, pero recuerde que el comando que acabamos de dar solo afecta las carpetas existentes. ¿Qué hay de nuevo?

Podemos establecer la propiedad así que cualquier cosa nueva también está en el grupo ''www-data''.

El primer comando cambiará los permisos para el directorio public_html para incluir el bit "setgid":

sudo chmod 2750 /home/demo/public_html

Eso asegurará que cualquier archivo nuevo se le dé al grupo ''www-data''. Si tiene subdirectorios, querrá ejecutar ese comando para cada subdirectorio (este tipo de permiso no funciona con ''-R''). Afortunadamente, se crearán nuevos subdirectorios con el bit ''setgid'' establecido automáticamente.

Si necesitamos permitir el acceso de escritura a Apache, a un directorio de carga, por ejemplo, entonces configure los permisos para ese directorio así:

sudo chmod 2770 /home/demo/public_html/domain1.com/public/uploads

Los permisos solo se deben establecer una vez, ya que a los nuevos archivos se les asignará automáticamente la propiedad correcta.

Así que tengo un directorio en / var / www (llamado cake) y necesito permitir que www-data escriba en él, pero también quiero escribir en él (sin tener que usar sudo). Me temo que puedo cambiar los permisos a 777 en caso de que algún otro usuario en mi máquina (o un hacker) intente modificar los archivos en ese directorio. ¿Cómo solo permito el acceso para mí y los www-data de Apache?


sudo chown -R yourname:www-data cake

entonces

sudo chmod -R g+s cake

El primer comando cambia propietario y grupo El segundo comando agrega s atributo que mantendrá los nuevos archivos y directorios dentro del pastel con los mismos permisos de grupo