GNU/Linux >> Linux Esercitazione >  >> Linux

Trova e differenze tra -perm /6000 e -perm /u+s?

Ho cercato di trovare eseguibili setuid usando un "one liner".

La prima linea che ho provato è stata:

find / -perm /u+s -type f

Poi ho trovato una linea che è simile ma dà risultati diversi:

find / -perm /6000 -type f

Questi sembrano identici per quanto ne so, ma il primo non mostra tanti risultati come il secondo (mancano principalmente quelli con gruppi strani). Perché, cosa è diverso?

Risposta accettata:

La maggior parte delle persone non è a conoscenza, ma le autorizzazioni Unix non sono in realtà solo Utente, Gruppo e Altri (rwx). Queste 3 triadi sono le autorizzazioni tipiche che consentono a utenti, gruppi e altri utenti di accedere a file e directory. Tuttavia esiste anche un gruppo di bit che precedono i bit utente. Questi bit sono indicati come "Modalità speciali".

È più una notazione abbreviata che non devi impostarli esplicitamente quando hai a che fare con uno strumento come chmod .

$ chmod 644

In realtà è equivalente a:

$ chmod 0644

Ecco l'elenco dei bit:

estratto articolo di Wikipedia intitolato: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

La tua domanda

Quindi nel tuo primo comando stai cercando u+s , che risulterebbe essere il bit 04000 . Quando usi la notazione numerica, chiedi i bit 04000 E 02000 . Questo ti darebbe file con set di bit setuid utente o gruppo.

Ulteriori letture

Consiglio vivamente a chiunque voglia comprendere meglio i permessi in Unix, di leggere la pagina di Wikipedia su chmod . Lo scompone in modo molto semplice ed è un ottimo riferimento quando dimentichi.

Riferimenti

  • Esercitazione su chmod

Linux
  1. In che modo Linux gestisce più separatori di percorsi consecutivi (/home////nomeutente///file)?

  2. Linux – Unire /usr/bin e /usr/sbin in /bin (gnu/linux)?

  3. Come scoprire da quale cartella è in esecuzione un processo?

  4. Linux:differenza tra /dev/console , /dev/tty e /dev/tty0

  5. I siti web dovrebbero vivere in /var/ o /usr/ in base all'utilizzo consigliato?

Comprendere i file /proc/mounts, /etc/mtab e /proc/partitions

unix:///var/run/supervisor.sock nessun file di questo tipo

Differenza tra /bin e /usr/bin

Qual è la differenza tra /tmp e /run?

Differenza tra /etc/hosts e /etc/resolv.conf

Differenze tra /dev/sda e /dev/sda1