GNU/Linux >> Linux Esercitazione >  >> Linux

Come funziona il bit appiccicoso?

SUID

Il pezzo appiccicoso applicato ai programmi eseguibili che contrassegnano il sistema per mantenere un'immagine del programma in memoria al termine dell'esecuzione del programma.

Ma non so cosa sia memorizzato nella memoria. E come posso vederli, in questo caso.?

Risposta accettata:

Questa è probabilmente una delle cose più fastidiose che le persone fanno sempre casino. Il bit SUID/GUID e lo sticky-bit sono 2 cose completamente diverse.

Se esegui un man chmod puoi leggere del SUID e dei bit appiccicosi. Anche la pagina man è disponibile qui.

sfondo

estratto

Le lettere rwxXst seleziona i bit della modalità file per gli utenti interessati:leggi
(r), scrivi (w), esegui (o cerca directory) (x), esegui/cerca solo
se il file è una directory o è già dispone dell'autorizzazione di esecuzione per alcuni utenti
(X), imposta l'ID utente o gruppo all'esecuzione/i , flag di eliminazione limitata o bit persistente (t) .

SUID/GUID

Ciò che la pagina man di cui sopra sta cercando di dire è che la posizione che il bit x assume in rwxrwxrwx per l'utente ottale (1° gruppo di rwx) e il gruppo ottale (2° gruppo di rwx) può assumere uno stato aggiuntivo in cui la x diventa una s. Quando ciò si verifica, questo file quando viene eseguito (se è un programma e non solo uno script di shell) verrà eseguito con i permessi del proprietario o del gruppo del file.

Quindi, se il file è di proprietà di root e il bit SUID è attivato, il programma verrà eseguito come root. Anche se lo esegui come utente normale. La stessa cosa vale per il bit GUID.

estratto

BIT SETUID E SETGID

chmod cancella il bit set-group-ID di un file normale se l'ID gruppo del file
non corrisponde all'ID gruppo effettivo dell'utente o a uno degli ID gruppo
supplementari dell'utente, a meno che l'utente non disponga dei privilegi appropriati.
Ulteriori restrizioni possono far sì che i bit set-user-ID e set-group-ID
di MODE o RFILE vengano ignorati. Questo comportamento dipende dalla politica
e dalla funzionalità della chiamata di sistema chmod sottostante. In caso di dubbio,
controlla il comportamento del sistema sottostante.

chmod conserva i bit set-user-ID e set-group-ID di una directory a meno che
non specifichi esplicitamente diversamente. Puoi impostare o cancellare i bit con
modalità simboliche come u+s e g-s, e puoi impostare (ma non cancellare) i bit
con una modalità numerica.

Esempi SUID/GUID

nessun suid/guid – solo i bit rwxr-xr-x sono impostati.

$ ls -lt b.pl
-rwxr-xr-x 1 root root 179 Jan  9 01:01 b.pl

Suid &bit eseguibile dell'utente abilitato (s minuscole) – i bit rwsr-x-r-x sono impostati.

$ chmod u+s b.pl 
$ ls -lt b.pl 
-rwsr-xr-x 1 root root 179 Jan  9 01:01 b.pl

Suid abilitato e bit eseguibile disabilitato (S maiuscola) – i bit rwSr-xr-x sono impostati.

$ chmod u-x b.pl
$ ls -lt b.pl 
-rwSr-xr-x 1 root root 179 Jan  9 01:01 b.pl

bit eseguibile di guid e gruppo abilitato (s minuscole) – i bit rwxr-sr-x sono impostati.

$ chmod g+s b.pl
$  ls -lt b.pl 
-rwxr-sr-x 1 root root 179 Jan  9 01:01 b.pl

guid abilitato e bit eseguibile disabilitato (S maiuscola) – i bit rwxr-Sr-x sono impostati.

$ chmod g-x b.pl
$  ls -lt b.pl 
-rwxr-Sr-x 1 root root 179 Jan  9 01:01 b.pl

pezzo appiccicoso

Il bit appiccicoso d'altra parte è indicato come t , ad esempio con /tmp directory:

$ ls -l /|grep tmp
drwxrwxrwt. 168 root root 28672 Jun 14 08:36 tmp

Questo bit avrebbe sempre dovuto essere chiamato "bit di eliminazione limitato" dato che è ciò che connota davvero. Quando questo bit di modalità è abilitato, crea una directory in modo tale che gli utenti possano eliminare solo file e directory al suo interno di cui sono proprietari.

Correlati:Cestino con 80 mila file. "Svuota cestino" non funziona!?

estratto

BANDIERA DI CANCELLAZIONE LIMITATA O PUNTA ADESIVA

Il flag di eliminazione limitata o sticky bit è un singolo bit, la cui interpretazione
dipende dal tipo di file. Per le directory,
impedisce agli utenti senza privilegi di rimuovere o rinominare un file nella directory
a meno che non siano proprietari del file o della directory; questo è chiamato
flag di eliminazione con restrizioni per la directory e si trova comunemente in
directory scrivibili da tutto il mondo come /tmp. Per i file normali su alcuni
sistemi meno recenti, il bit salva l'immagine di testo del programma sul dispositivo di scambio
in modo che venga caricato più rapidamente durante l'esecuzione; questo è chiamato il bit appiccicoso.


Linux
  1. Cos'è NGINX? Come funziona?

  2. Lo scopo di .bashrc e come funziona?

  3. Come funziona il comando Exit su un terminale Unix?

  4. Come funziona il comando 'ls' in Linux/Unix?

  5. Come funziona internamente copy_from_user dal kernel di Linux?

Come funziona la memoria di scambio in Linux?

Come funziona effettivamente sig_atomic_t?

Come funziona un debugger in Linux?

Come funziona il comando ps?

Come funziona una GUI Linux al livello più basso?

Come funziona il display di Linux?