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/…?
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ípicamentewww-data
) acceso a su directorio de inicio. Una forma de hacerlo es agregando su usuario al grupowww-data
:sudo dscl . append /Groups/_www GroupMembership <nombre_de_usuario>
<nombre_de_usuario>
con su nombre de usuario realwww-data
ejecutando:groups <nombre_de_usuario>
www-data
como uno de los gruposA 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
:chmod 750 ~
chmod -R 750 /Usuarios/nombre/carpeta_del_sitio
nombre
con su nombre de usuario realPor último, deberá cambiar la propiedad de la carpeta del sitio al usuario y al grupo
www-data
:sudo chown -R www-data:www-data /Usuarios/nombre/carpeta_del_sitio
nombre
con su nombre de usuario realUna 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.