Permisos de archivos de Ubuntu

Permisos de archivos de Ubuntu

Tengo problemas con los permisos de archivos en un servidor Ubuntu. Estoy usando WinSCP para mover archivos al servidor. El servidor funcionará bien y luego de un tiempo parece que ya no tengo permiso para eliminar un archivo.

Me estoy conectando al servidor usando una cuenta llamadaadministrador, y el directorio raíz del servidor Apache es/var/www. Cada sitio web tiene su propio directorio debajo de este, es decir

/var/www/site1
/var/www/site2

Este es el resultado del comando ls...

cd /var/www
ls -al
drwxr-sr-x   4  svadmin  svadmin  4096 2009-06-12 14:45 .
drwxr-xr-x  15  root     root     4096 2009-05-05 15:47 ..
drwxr-sr-x   4  svadmin  svadmin  4096 2009-06-12 15:15  site1
drwxr-sr-x   4  svadmin  svadmin  4096 2009-06-12 15:15  site2

Tengo entendido que esto significa que el propietario del directorio ha leído/escrito/ejecutado. Cuando me conecto al servidor usando la cuenta svadmin, ¿no debería poder sobrescribir o eliminar archivos en /var/www/site1 o /var/www/site2?

No estoy muy familiarizado con los permisos de archivos/directorios de Linux, por lo que he estado luchando para determinar qué debería hacer. ¡Cualquier ayuda sería muy apreciada!

Más información: (¡gracias por las rápidas respuestas!)

Salida de ls -al para /var/www/site1

drwxr-sr-x 4 svadmin svadmin 4096 2009-06-12 15:15 .
drwxr-sr-x 4 svadmin svadmin 4096 2009-06-12 14:45 ..
-rw-r--r-- 1 svadmin svadmin 157  2009-05-12 13:23 error.php
-rw-r--r-- 1 svadmin svadmin 158  2009-05-12 13:23 .htaccess
-rw-r--r-- 1 svadmin svadmin 142  2009-05-12 13:23 index.php
drwxr-sr-x 2 svadmin svadmin 4096 2009-05-12 18:40 libraries

Mensaje de error Cuando intento eliminar el archivo:

rm admin.php
rm: cannot remove 'admin.php' : Read-only file system

Aún más información Sólo para agregar alguna información posiblemente relevante... todo estuvo funcionando hasta ayer por la tarde. En ese momento, un compañero de trabajo sacó la SAN en la que estaba el archivo de la máquina virtual y el servidor web tuvo un apagado poco elegante.

Respuesta1

Este no es un problema de permisos. Las dos pistas son:

  • rm: no se puede eliminar 'admin.php': sistema de archivos de solo lectura
  • Todo estuvo funcionando hasta ayer por la tarde. En ese momento, un compañero de trabajo sacó la SAN en la que estaba el archivo de la máquina virtual y el servidor web tuvo un apagado poco elegante.

De alguna manera, el sistema de archivos que contiene /var/www cayó a "solo lectura", probablemente cuando desapareció la SAN. La salida del mountcomando debería identificar este sistema de archivos con un indicador (ro) al final.

La solución es descubrir por qué sucedió, asegurarse de que esté corregido y volver a montar el sistema de archivos rw con este comando:

mount -oremount,rw $filesystem

Respuesta2

Si tiene rwx en un directorio, eso significa que puede editar el archivo del directorio, lo que equivale a eliminar y agregar archivos. La edición de archivos es una función de sus permisos individuales. ¿Cómo se ve un ls -l de uno de los subdirectorios?

Respuesta3

Tu problema es la parte pegajosa. Fíjate que las permanentes no las hay drwxr-xr-x, las hay drwxr-sr-x. Wikipedia dice:

El uso más común del bit adhesivo hoy en día es en directorios, donde, cuando se configura, los elementos dentro del directorio pueden ser renombrados o eliminados sólo por el propietario del elemento, el propietario del directorio o el superusuario; Sin el bit adhesivo configurado, cualquier usuario con permisos de escritura y ejecución para el directorio puede cambiar el nombre o eliminar los archivos contenidos, independientemente del propietario. Normalmente, esto se configura en el directorio /tmp para evitar que los usuarios normales eliminen o muevan los archivos de otros usuarios. Esta característica se introdujo en 4.3BSD en 1986 y hoy se encuentra en la mayoría de los sistemas Unix modernos.

Por lo tanto, solo el grupo que los colocó allí en primer lugar puede escribir y eliminar archivos.

información relacionada