Tengo un script php que necesita conectarse a una base de datos. Las credenciales para la base de datos se almacenan en otra secuencia de comandos php.Permisos de Unix, leer y ejecutar (contexto PHP)
Si configuré los permisos del archivo de credenciales en 661 para que Public tenga permiso de ejecución pero no de lectura, ¿permite esto que la secuencia de comandos principal acceda a las credenciales y se conecte a la base de datos mientras impide que alguien con una cuenta de usuario servidor de ver los contenidos del archivo de credenciales?
Supongo que estoy confundido en cuanto a la distinción entre leer y ejecutar. ¿Un script php (que se ejecuta como www o algo similar) necesita permiso de lectura para incluir otro script php y usar cualquier contenido dentro? ¿O solo necesita ejecutar? ¿El permiso de lectura da implícitamente permiso de ejecución?
Subpregunta: Si configuro todos mis scripts para que solo tengan permiso de ejecución y no se lean, ¿hay algún inconveniente que deba esperar? Esto supone que dejaré cualquier archivo que necesite permisos de lectura explícitos (archivos de datos) para leer.
Tenga en cuenta que si otros usuarios tienen acceso para ejecutar su propio código PHP a través del servidor web, esto no los detendrá. En ese caso, tal vez consulte open_basedir o una solución que le permita ejecutar diferentes vhosts/aplicaciones como diferentes usuarios. – oops
Sí, en una inspección más cercana, descubrí que www era un miembro del grupo para el directorio en el que basé mi confusión. No estaba tratando de hackearlo, solo quería emular lo que habían hecho, pero sin solo reflejarlo. – Anthony