GNU/Linux >> Linux Esercitazione >  >> Linux

Che cos'è SUID, SGID e Sticky bit?

Sono disponibili 3 autorizzazioni speciali per i file e le directory eseguibili. Questi sono:

1. Autorizzazione SUID
2. Autorizzazione SGID
3. Un po' appiccicoso

Identificazione dell'utente impostato (SUID)

Hai mai pensato a come un utente non root può cambiare la propria password quando non ha il permesso di scrittura nel file /etc/shadow. mmm... interessante no? Bene per capire il trucco controlla l'autorizzazione del comando /usr/bin/passwd :

# ls -lrt /usr/bin/passwd
-r-sr-sr-x   1 root     sys        31396 Jan 20  2014 /usr/bin/passwd

– Se controlli attentamente, troverai le 2 S nel campo dei permessi. La prima s sta per SUID e la seconda sta per SGID.
– Quando viene eseguito un comando o uno script con il bit SUID impostato, il suo UID effettivo diventa quello del proprietario del file, piuttosto che dell'utente che lo sta eseguendo.
– Un altro buon esempio di SUID è il comando su :

# ls -l /bin/su 
-rwsr-xr-x-x 1 root user  16384 Jan 12 2014 /bin/su

– L'autorizzazione setuid visualizzata come una "s" nel campo di esecuzione del proprietario.

Come impostare SUID su un file?

# chmod 4555 [path_to_file]
Nota :
Se nel campo di esecuzione del proprietario viene visualizzata una "S" maiuscola, significa che il bit setuid è attivo e che il bit di esecuzione "x" per il proprietario del file è disattivato o negato.

Identificazione gruppo di insiemi (SGID)

Autorizzazione SGID su file eseguibile

– L'autorizzazione SGID è simile all'autorizzazione SUID, l'unica differenza è:quando viene eseguito lo script o il comando con SGID attivo, viene eseguito come se fosse un membro dello stesso gruppo di cui è membro il file.

# ls -l /usr/bin/write
-r-xr-sr-x  1   root tty 11484 Jan 15 17:55 /usr/bin/write

– L'autorizzazione setgid viene visualizzata come una "s" nel campo di esecuzione del gruppo.

Nota :
– Se nel campo di esecuzione del gruppo viene visualizzata una "l" minuscola, indica che il bit setgid è attivo e il bit di esecuzione per il gruppo è disattivato o negato.

Come impostare il GUID su un file?

# chmod 2555 [path_to_file]

SGID su una directory

– Quando l'autorizzazione SGID è impostata su una directory, i file creati nella directory appartengono al gruppo di cui la directory è membro.
– Ad esempio, se un utente che dispone dell'autorizzazione di scrittura nella directory crea un file lì, quel file è un membro dello stesso gruppo della directory e non del gruppo dell'utente.
– Ciò è molto utile nella creazione di directory condivise.

Come impostare SGID su una directory

# chmod g+s [path_to_directory]

Punto appiccicoso

– Lo sticky bit viene utilizzato principalmente su directory condivise.
– È utile per directory condivise come /var/tmp e /tmp perché gli utenti possono creare file, leggere ed eseguire file di proprietà di altri utenti, ma non possono rimuovere file di proprietà di altri utenti.
– Ad esempio, se l'utente bob crea un file denominato /tmp/bob, l'altro utente tom può non eliminare questo file anche quando la directory /tmp ha il permesso di 777. Se sticky bit non è impostato, tom può eliminare /tmp/bob, poiché il file /tmp/bob eredita i permessi della directory padre.
– utente root (Ovviamente!) e il proprietario dei file possono rimuovere i propri file.

Esempio di bit appiccicoso:

# ls -ld /var/tmp
drwxrwxrwt  2   sys   sys   512   Jan 26 11:02  /var/tmp
- T refers to when the execute permissions are off.
- t refers to when the execute permissions are on.

Come impostare l'autorizzazione per i bit permanenti?

# chmod +t [path_to_directory]
or 
# chmod 1777 [path_to_directory]


Linux
  1. Autorizzazioni Linux:SUID, SGID e sticky bit

  2. Cosa sono la pagina mappata in memoria e la pagina anonima?

  3. Cos'è un file .so.2?

  4. Cos'è un file .so?

  5. Qual è lo sticky bit nei file system UNIX? Quando viene utilizzato?

Comando file Linux:cosa fa e come usarlo

Che cos'è EFS (Elastic File System) in AWS e come utilizzarlo

Permessi e proprietà dei file Linux spiegati con esempi

Permessi speciali per i file in Linux:SUID, GUID e Sticky Bit

Un ragazzo di Windows in un mondo Linux:utenti e autorizzazioni di file

Cos'è un file .sh?