GNU/Linux >> Tutoriales Linux >  >> Linux

¿Encuentra las diferencias entre -perm /6000 y -perm /u+s?

He estado tratando de encontrar ejecutables de setuid usando un `one liner'.

La primera línea que probé fue:

find / -perm /u+s -type f

Luego encontré una línea que es similar pero da resultados diferentes:

find / -perm /6000 -type f

Por lo que puedo decir, estos se ven idénticos, pero el primero no muestra tantos resultados como el segundo (faltan la mayoría de los que tienen grupos extraños). ¿Por qué, qué es diferente?

Respuesta aceptada:

La mayoría de las personas no lo saben, pero los permisos de Unix en realidad no son solo Usuario, Grupo y Otros (rwx). Estas 3 tríadas son los permisos típicos que permiten a los usuarios, grupos y otros usuarios acceder a archivos y directorios. Sin embargo, también hay un grupo de bits que preceden a los bits de usuario. Estos bits se denominan "Modos especiales".

Es más una notación abreviada que no tiene que configurarlos explícitamente cuando se trata de una herramienta como chmod .

$ chmod 644

En realidad es equivalente a:

$ chmod 0644

Aquí está la lista de bits:

extracto del artículo de wikipedia titulado:chmod

Flag                Octal value     Purpose
----                -----------     -------
S_ISUID             04000           Set user ID on execution
S_ISGID             02000           Set group ID on execution
S_ISVTX             01000           Sticky bit
S_IRUSR, S_IREAD    00400           Read by owner
S_IWUSR, S_IWRITE   00200           Write by owner
S_IXUSR, S_IEXEC    00100           Execute/search by owner
S_IRGRP             00040           Read by group
S_IWGRP             00020           Write by group
S_IXGRP             00010           Execute/search by group
S_IROTH             00004           Read by others
S_IWOTH             00002           Write by others
S_IXOTH             00001           Execute/search by others

Tu pregunta

Así que en tu primer comando estás buscando u+s , que resultaría ser el bit 04000 . Cuando usa la notación numérica, está solicitando bits 04000 Y 02000 . Esto le daría archivos con bits de setuid de usuario o grupo establecidos.

Lecturas adicionales

Recomiendo encarecidamente a cualquiera que quiera comprender mejor los permisos en Unix, que lea la página de Wikipedia sobre chmod . Lo desglosa de forma muy sencilla y es una excelente referencia cuando se te olvida.

Referencias

  • Tutorial de chmod

Linux
  1. Bash =~ Regex y Https://regex101.com/?

  2. ¿Cuándo debo usar /dev/shm/ y cuándo debo usar /tmp/?

  3. Linux:diferencia entre /dev/console, /dev/tty y /dev/tty0

  4. ¿Deberían vivir los sitios web en /var/ o /usr/ según el uso recomendado?

  5. Diferencias entre /dev/sda y /dev/sda1

¿Cómo maneja Linux múltiples separadores de rutas consecutivas (/home////username///file)?

Linux:¿Diferencia entre /dev/console, /dev/tty y /dev/tty0?

¿La diferencia entre /opt y /usr/local?

Linux – ¿Fusionar /usr/bin y /usr/sbin en /bin (gnu/linux)?

Comprender los archivos /proc/mounts, /etc/mtab y /proc/partitions

Diferencia entre /etc/hosts y /etc/resolv.conf