Determinar los permisos de archivos efectivos

Determinar los permisos de archivos efectivos

Me gustaría preguntar cuáles son las reglas que utilizan los sistemas operativos Linux en ext4los sistemas de archivos cuando hay conflictos entre los permisos de directorio y los permisos de archivos.

Ejemplo:

 drwxrwx--- user1 group2 FOLDER
 -rw-r--r-- user1 group1 FILE

¿Qué permisos tendría un usuario en group2un archivo ?... ¿Y cuál es la regla general para determinar los permisos de un archivo en estas situaciones?FILE

Gracias.

Respuesta1

Si un usuario está en el grupo 2, deberá seguir los permisos del grupo para el directorio CARPETA. es decir

rwx

Suponiendo que no son el usuario1 y tampoco están en el grupo1, entonces miraríamos los "otros" permisos para ARCHIVO. es decir

r--

Por lo tanto, sólo tienen permisos de lectura para este archivo. Tenga en cuenta que esto es un poco confuso. No pueden modificar directamente este archivo, ya que no tienen privilegios de escritura. Sin embargo, dado que tienen wxel directorio, podrían rmeste archivo y luego reemplazarlo por uno nuevo. (NB: el inodo probablemente cambiaría y no podrían entregárselo chownal propietario original, por lo que no es exactamente lo mismo que modificar directamente el archivo).

Entonces, en general, los permisos heredan del directorio principal. A medida que los permisos se vuelven más restrictivos, restringen los archivos y directorios secundarios. Sin embargo, como se indicó anteriormente, si tiene wxpermisos para el directorio de nivel superior, existen soluciones.


EDITAR

De manera similar, si edita el archivo con vim, verá un cambio en el inodo. No se trata de "editarlo", sino de "sobrescribirlo".

$ echo foo > file
$ ls -li file 
5213942 -rw-r--r-- 1 sparhawk sparhawk 4 Aug 16 15:34 file
$ sudo chown root:root file
$ ls -li file 
5213942 -rw-r--r-- 1 root root 4 Aug 16 15:34 file
$ vim file
$ ls -li file 
5214750 -rw-r--r-- 1 lee lee 7 Aug 16 15:35 file

Tenga en cuenta el cambio en el inodo después de vimsobrescribir el archivo. También tenga en cuenta que vim advirtió que el archivo era de solo lectura. Tuve que ahorrar con :w!.

información relacionada