Каковы последние 3 бита в битах режима разрешений UNIX?

Это должно сработать, но я не являюсь экспертом в awk, поэтому могут быть лучшие ответы, если вы подождете:

*awk 'BEGIN { FS="," }
     /PREFIX/ {
                if ($0 ~ /TYPE_1/)  {printf "[TYPE1] [DATA: $2]"}    // <-- included pattern 
                if ($0 ~ /TYPE_2/)  {printf "[TYPE2] [DATA: $2]"}    // <-- another included pattern
                ...                                        // <-- some more included patterns
              }' "filename"
5
01.06.2018, 17:44
2 ответа

stat /bin/su muestra en un sistema:

Access: (4755/-rwsr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)

Está la representación octal 4755de los 12 bits de modo. El número corresponde a los bits:

octal    4   7   5   5
bits   100 111 101 101
       sst uuu ggg ooo
       ug  rwx rwx rwx

Donde uuu, gggy oooson ​​los bits de permiso para el usuario, grupo y otros. El grupo restante (el primero en orden )contiene los bits setuid (su), setgid(sg)y sticky (t).

Los bits setuid y sticky a menudo no se mencionan, ya que son cero para la mayoría de los archivos. Todavía están allí para cada archivo, guardados junto con los demás.


Si realmente nos ponemos manos a la obra, algunos sistemas de archivos e interfaces almacenan el tipo de archivo a lo largo de los bits de modo, en los bits aún -más altos. Lo anterior solo representa 12 bits, por lo que con un campo de 16 -bits, sobran 4. Véase, por ejemplo, la descripción de st_modeenstat(2).

5
27.01.2020, 20:36
  1. Los tres bits restantes representan los bits setuid, setgid y sticky; consulte Descripción de los permisos y tipos de archivo de UNIX para obtener más detalles. Todos estos se almacenan en el inodo.

  2. Un directorio es, de hecho, una especie de archivo que almacena una lista de nombres y los inodos correspondientes. El nombre y el inodo propios de un directorio se almacenan en su directorio principal; el directorio raíz es un caso especial, normalmente es un inodo fijo en el sistema de archivos(inodo 2 en Ext4)y, por supuesto, siempre se llama /(, que termina siendo relativo a su punto de montaje... ).

3
27.01.2020, 20:36

Теги

Похожие вопросы