es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Acceso denegado a las carpetas en /Usuarios/usuario/ en Monterey.

Estoy intentando configurar nginx en una Mac con chip Apple Silicon con MacOS Monterey.

Nginx se ha instalado con brew.

Si edito el archivo de configuración (/opt/homebrew/etc/nginx/nginx.conf) para establecer un nuevo directorio raíz, funciona si lo apunto a una carpeta que no está asociada con mi carpeta de usuario. Por ejemplo:

location / {
root /var/www/sites;
index index.html index.htm index.php;
}

Sin embargo, si establezco la raíz en una carpeta de mi directorio de inicio, como:

location / {
root /Users/nombre/sites;
index index.html index.htm index.php;
}

Obtengo un error 403 Forbidden.

Aunque esto parece ser una configuración común, muchos tutoriales dicen que se deben poner los distintos sitios en /Usuario/usuario/Sites.

He intentado cambiar los permisos con chmod 755 sites y he intentado cambiar el propietario del directorio sites al usuario root. Sin embargo, ninguno de estos ha funcionado. Tuve un problema similar al intentar configurar apache.

¿Alguna idea de lo que estoy haciendo mal con mis permisos?
¿Debería nginx (y/o apache) poder acceder a carpetas en /Users/usuario/…?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Es probable que el problema esté relacionado con los permisos de usuario. Por defecto, macOS Monterey tiene medidas de seguridad adicionales para evitar el acceso no autorizado a ciertas carpetas, incluyendo el directorio de inicio del usuario. Puede verificar los permisos de sus directorios utilizando el comando ls -la en Terminal.

    Para resolver el problema, es posible que deba darle al usuario nginx (típicamente www-data) acceso a su directorio de inicio. Una forma de hacerlo es agregando su usuario al grupo www-data:

    1. Abra Terminal y ejecute el siguiente comando: sudo dscl . append /Groups/_www GroupMembership <nombre_de_usuario>
      • Reemplace <nombre_de_usuario> con su nombre de usuario real
    2. Verifique que su usuario se agregó al grupo www-data ejecutando: groups <nombre_de_usuario>
      • La salida debería incluir www-data como uno de los grupos

    A continuación, deberá cambiar los permisos de su directorio de inicio y la carpeta del sitio para permitir el acceso de lectura al grupo www-data:

    1. Abra Terminal y ejecute el siguiente comando para su directorio de inicio: chmod 750 ~
    2. Ejecute el siguiente comando para la carpeta del sitio: chmod -R 750 /Usuarios/nombre/carpeta_del_sitio
      • Reemplace nombre con su nombre de usuario real

    Por último, deberá cambiar la propiedad de la carpeta del sitio al usuario y al grupo www-data:

    1. Abra Terminal y ejecute el siguiente comando para la carpeta del sitio: sudo chown -R www-data:www-data /Usuarios/nombre/carpeta_del_sitio
      • Reemplace nombre con su nombre de usuario real

    Una vez completados estos pasos, debería poder establecer el directorio raíz para nginx en una carpeta de su directorio de inicio sin obtener un error 403 Forbidden. En general, es seguro que nginx y Apache accedan a carpetas en /Usuarios/usuario/.., siempre y cuando se establezcan los permisos adecuados.

Comments are closed.