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