Estoy ejecutando un script Ruby que contiene
unless File.writable?(".")
problems << ["Directory /path/to/htdocs needs write access"]
el problema es que solo si configuro
chmod 777 /ruta/a/htdocs
Funciona, pero leí que en realidad no deberías 777 hacer nada.
Entonces, ¿cómo puedo evitar este problema para que el código se ejecute con 755 en lugar de 777?
Respuesta1
Nunca es necesario utilizar 777. Sin embargo, puedes averiguar cuál es el problema:
- si funciona con 777 y no con 770, estás utilizando un usuario desconocido en tu entorno. Cambie a un usuario conocido y funcionará con 770.
- si funciona con 770 y no con 700 estás usando un grupo desconocido en tu entorno. Misma solución: configure el entorno en un grupo conocido.
Entonces, apache2, nginx o cualquier cosa que uses para ejecutar scripts tendrán un usuario y un grupo configurados en su configuración. Encuentre el usuario y el grupo utilizados y cambie su secuencia de comandos a ese usuario y grupo y todo lo que necesitará es 700 o 750.