Permiso de archivo avanzado y cómo leerlos correctamente

Permiso de archivo avanzado y cómo leerlos correctamente
alisto@ubuntu:/projects/solarproj$ \ls -al
total 32
drwxrwsr-t 3 root   solarproj 4096 Dec 8 16:02 .
drwxr-xr-x 3 root   root      4096 Dec 8 15:29 ..
-rw-rw---- 1 boband boband    802  Dec 8 15:44 bearings.jpg
-rw-rw-r-- 1 boband solarproj 101  Dec 8 15:43 controller.c
drwxrwSr-x 2 alisto solarproj 4096 Dec 8 15:40 old
-------rwx 1 alisto solarproj 19   Dec 8 14:08 power
-rw-r--r-- 1 alisto solarproj 81   Dec 8 15:44 schedule.txt
-rw----r-- 1 boband solarproj 576  Dec 8 15:58 temp
lrwxrwxrwx 1 alisto solarproj 24   Dec 8 16:02 temp.sym      ->  ../solarproj/temp

Ambos usuarios están en el grupo solarproj.

  1. ¿Bob puede cambiar el contenido del archivo schedule.txt? ¿Por qué?

    Si estoy leyendo esto correctamente, la respuesta es no, porque el grupo está configurado para solo lectura.

  2. ¿Puede Alice eliminar el archivo controller.c? ¿Por qué?

    El archivo otorga permiso de lectura y escritura, pero debido a la parte adhesiva no puede eliminarlo/no estoy tan segura.

  3. ¿Qué usuarios pueden leer el archivo power? ¿Por qué?

    Todos los demás usuarios que no son parte del grupo o Alisto.

  4. ¿Por qué Alice, pero no Bob, puede enumerar el contenido del directorio antiguo?

    Debido a la S en el permiso del grupo, la x no existe

  5. ¿Puede Alice leer el archivo temp.sym? ¿Por qué?

    No, porque no está permitida.

No sé si mis respuestas son correctas y me encantaría que alguien pudiera corregir mis respuestas incorrectas y ayudarme un poco. Me encantaría probarlo y comprobarlo por mí mismo, pero mi máquina virtual no funciona y necesito estudiar para el próximo examen dentro de unos días. ¡Inténtalo de nuevo!

Respuesta1

Cuando se muestra un permiso mediante el lscomando, sigue una estructura determinada. Echemos un vistazo a un ejemplo:

-rw-rw-r--

ElprimeroEl carácter indica el tipo de archivo y se llamadescriptor de archivo,los siguientes tres personajesindicar los permisos para el usuario que creó el archivo, elsiguiente conjunto de tres personajesindicar los permisos para el grupo del usuario, y elúltimos tres personajesindicar los permisos para todos los demás.

En este ejemplo:

  • elprimeroEl carácter, conocido como descriptor de archivo, indica el tipo de archivo. En este caso -rw-rw-r--, es el guión al principio.
  • ellos siguientes tres personajesindique los permisos para el usuario que creó el archivo. En este caso de -rw-rw-r--, lo es rw-.
  • ellos siguientes tres personajes después de esoindicar los permisos para el grupo de usuarios mencionado anteriormente.
  • elúltimos tres personajesmostrar los permisos para todos los demás.

El primer carácter, o el descriptor del archivo, un solo guión ( -), muestra que se trata de un archivo normal. Por otro lado, si estos fueran los permisos para el directorio, sería único d. Una lista no exhaustiva de posibles valores para el descriptor de archivo:

  • d- un directorio
  • -- un archivo "normal"
  • l- un enlace simbólico
  • s- un zócalo UNIX
  • p- una tubería

Los otros tres conjuntos de tres caracteres siguen la estructura [read][write][exec], donde cada paréntesis contiene un carácter.

Entonces, en nuestro ejemplo de -rw-rw-r--:

  • Los permisos para el usuario que creó el archivo son rw-. Para que el usuario pueda leer y escribir en el archivo, pero no ejecutarlo.
  • los permisos para el grupo del usuario también son rw-, lo que significa que el grupo del usuario también puede leer y escribir en él.
  • los permisos para todos los demás son r--; esto significa que todos los demás sólo pueden leer el archivo, no escribirlo ni ejecutarlo.

Entonces, para tus preguntas:

¿Puede Bob cambiar el contenido del archivo Schedule.txt? ¿Por qué?

Si estoy leyendo esto correctamente, la respuesta es no porque el grupo está configurado para solo leer.

-rw-r--r-- 1 alisto solarproj 81   Dec 8 15:44 schedule.txt

Estás en lo correcto. bobandes parte del solarprojgrupo, por lo que sus permisos son r--, lo que significa que solo puede leer el archivo, no cambiarlo.

¿Puede Alice eliminar el archivo controlador.c? ¿Por qué?

El archivo otorga permiso de lectura y escritura, pero debido a la parte adhesiva no puede eliminarlo/no estoy tan segura.

-rw-rw-r-- 1 boband solarproj 101  Dec 8 15:43 controller.c

Ella sí que puede. Sus permisos son rw-porque es parte del grupo solarproj, por lo que puede cambiar el archivo, lo que incluye eliminarlo.

¿Qué usuarios pueden leer el poder del archivo? ¿Por qué?

Todos los demás usuarios que no son parte del grupo o Alisto.

-------rwx 1 alisto solarproj 19   Dec 8 14:08 power

De nuevo, correcto. Solo un usuario que 1) no esté en el solarprojgrupo y 2) no lo esté alistopodrá leer, cambiar o ejecutar ese archivo.

¿Por qué Alice pero no Bob puede enumerar el contenido del directorio antiguo?

Debido a la S en el permiso del grupo, la x no existe

drwxrwSr-x 2 alisto solarproj 4096 Dec 8 15:40 old

No. Los Smedios del archivo.esejecutableyel bit setguid está establecido.

¿Puede Alice leer el archivo temp.sym? ¿Por qué?

No porque a ella no se le permite

-rw----r-- 1 boband solarproj 576  Dec 8 15:58 temp
lrwxrwxrwx 1 alisto solarproj 24   Dec 8 16:02 temp.sym      ->  ../solarproj/temp

Correcto. temp.symseñala el archivo temp; while alistopuede leer desde temp.sym, porque apunta a temp, cuálalisto no puedoleído, se le negará el permiso.

información relacionada