
Para proteger los datos en mi servidor web, moví PHP include a una carpeta llamada /var/www-includes (fuera de /var/www, la raíz del servidor). También ejecuté chown root:wwwadmin
y chmod 770
en esa carpeta. Cuando ejecuto ls -ld
la carpeta, verifica la configuración: drwxrwx--- ... root wwwadmin ... www-includes
aunque puedo acceder a la carpeta desde mi usuario principal (adam), que es miembro de wwwadmin, no puedo ver su contenido en un explorador de archivos gráfico. ¿Alguna idea de por qué? Editar: Además, al intentar editar los archivos contenidos en nano, me muestra un mensaje de error:
Error reading /home/adam/.nano_history: Permission denied
luego abre el contenido del archivo. ¿Es esto relevante en absoluto para lo que puede estar sucediendo?
Respuesta1
Quizás sea una pregunta obvia pero... ¿cambiaste también los permisos de los archivos dentro del directorio? En otras palabras, ¿usó el indicador "-r" (recursivo) al emitir los comandos chown/chmod?
Respuesta2
Quizás no sea una respuesta (ya que la publicación no incluye suficiente información), pero puedo modificarla si es necesario. Al realizar cursos de capacitación sobre Linux, desarrollé una forma de encontrar rápidamente el problema de permisos. Soy consciente de que ya realizó algunos de los pasos, pero necesito escribirlos en su totalidad para que estén completos.
- Cambie al usuario que desea utilizar para acceder. Hazlo antes de hacer cualquier otra cosa.
- Utilice
id
el comando para verificar su UID y grupos actuales. Úseloid name-of-the-user
para verificar la configuración en el disco. Cierre sesión y vuelva a iniciarla si difieren y verifique nuevamente. - Utilice 'ls -l' para comprobar el directorio de destino. No olvides verificar el personaje justo después de los permisos. Puede haber un punto que significa que hay un contexto de Selinux o puede haber un signo más que significa que las ACL de Linux están configuradas.
- Utilice 'cd' para acceder al directorio.
- Realice las acciones necesarias en los archivos habituales. Utilícelo
touch
para comprobar el acceso de escritura ycat
para comprobar el acceso de lectura. - Verifique si todo funciona como se espera en el nivel de la aplicación (por ejemplo, use un navegador para acceder a la URL que debería resultar en la acción respectiva, use su herramienta de edición favorita que falló anteriormente, etc.)
- Agregue cualquiera de las comprobaciones anteriores al nivel de la aplicación.
Si alguna de las acciones falla y no tiene idea de por qué, verifique los registros para detectar alertas de Selinux o similares. También puede intentar anteponer strace -o strace.log
la línea de comando y luego verificar strace.log paraPermiso denegadomensajes. Pero todo es magia negra hasta que sabes la razón exacta dePermiso denegado.