-->

Lo Sticky bit è un permesso speciale, il quale comportamento è diverso per i file eseguibili e le directory.

Nei sistemi operativi Unix e Unix-like, ed in generale nei sistemi POSIX, lo sticky bit è un permesso speciale che può essere associato ad un file (tipicamente ai file eseguibili) o ad una directory.


Storia.

Lo sticky bit venne introdotto nella quinta edizione di UNIX, nel 1974, per essere usato solo su file eseguibili. Se impostato, esso forzava il sistema operativo a mantenere nello spazio di swap l'immagine del programma anche dopo che il processo relativo era terminato.


Questo comportamento velocizzava le esecuzioni successive, in quanto lo spazio di swap era gestito come un file contiguo, e quindi più rapido da rileggere rispetto ai file eseguibili, che potevano essere memorizzati in maniera frammentata all'interno del file system.


I programmi avviati frequentemente, come gli editor di testo, ne guadagnavano molto in velocità d'avvio. Tra i problemi causati dall'uso dello sticky bit vi era quello della sostituzione del file eseguibile originale: per poterlo fare bisognava innanzitutto rimuovere lo sticky bit dal file eseguibile, quindi eseguire il programma e poi uscirne al fine di pulire la cache, per poi sostituire il file eseguibile ed infine ripristinare lo sticky bit.


La velocità guadagnata in esecuzioni ripetute andò persa quando Unix venne portato sui sistemi hardware con il supporto per l'accesso diretto alla memoria (Direct Memory Access) da parte dei dispositivi di memoria di massa, ed anche su quelli che sostituivano il sistema di swapping con il paging. Nonostante ciò, lo sticky bit restò operativo in molte varianti della Versione 5 (in particolare sui sistemi Solaris e su HP-UX).


La release 4.4 Lite del BSD mantenne il supporto allo sticky bit sul proprio sistema, per poi eliminarlo nella versione OpenBSD (dalla release 3.7) e FreeBSD (dalla release 2.2.1); rimane in NetBSD. Nessuna versione di Linux ha mai supportato il comportamento tradizionale per i file eseguibili.


Uso.

Al giorno d'oggi lo sticky bit viene comunemente usato per le directory destinate a contenere file temporanei di più utenti: se impostato su una directory esso indica che i file e subdirectory in essa contenuti possono essere cancellati o rinominati solo dal proprietario, o dal proprietario della directory che lo contiene o dall'utente root, anche se si dispongono di tutti gli altri permessi di scrittura necessari.


Questo permesso viene spesso impostato sulle directory /tmp e /var/tmp per evitare che utenti ordinari cancellino o spostino i file temporanei appartenenti agli altri utenti, pur consentendo a chiunque di creare nuovi file e directory. Questo comportamento venne introdotto nel 4.3BSD (1986) ed è tuttora presente in molti sistemi Unix.


Su Solaris, a partire da SunOS 2.5, lo sticky bit può essere impostato dall'amministratore (root) su file non eseguibili per indicare al kernel di non mantenere in cache i dati di tali file. L'uso è tipico con i file di swap, per evitare che le operazioni di accesso a tali file finiscano con l'occupare la cache a scapito di altri dati più importanti. Questo comportamento viene occasionalmente sfruttato anche per effettuare dei test che misurano le prestazioni del sistema (benchmark).


Esempi.

Lo sticky bit può essere impostato tramite il comando chmod, specificandolo tramite la sua rappresentazione ottale 1000 o tramite la rappresentazione simbolica t (s è già usato per il permesso setuid).

Ad esempio, per impostarlo sulla directory /usr/local/tmp si può usare il comando

 # chmod +t /usr/local/tmp

Per assicurarsi che la directory abbia anche gli altri permessi standard delle directory condivise per file temporanei si può usare

 # chmod 1777 /usr/local/tmp

Nella notazione simbolica dei permessi, la presenza dello sticky bit è segnalata dalla lettera t all'ultimo posto (quello altrimenti usato per indicare il permesso di esecuzione per la classe altri). Ad esempio, su Solaris 8, la directory /tmp, che normalmente ha lo sticky bit attivato, viene mostrata così:

 $ ls -ld /tmp  drwxrwxrwt   4 root     sys          485 Nov 10 06:01 /tmp

In caso di file o directory privi del permesso di esecuzione per la classe altri, viene invece usata la lettera T maiuscola, ad esempio:

# ls -l test
-rw-r--r-- 1 root other 0 Nov 10 12:57 test

# chmod +t test; ls -l test
-rw-r--r-T 1 root other 0 Nov 10 12:57 test

Conclusione:

Lo Sticky bit è un permesso speciale, il quale comportamento è diverso per i file eseguibili e le directory.

Corrisponde alla lettera t(rappresentazione simbolica) o 1000 (rappresentazione ottale).

Se i permessi di esecuzione non sono impostati è la lettera T che corrisponde.
  • I file eseguibili - il programma rimane in memoria per la ulteriore esecuzione
  • Le directory - se lo sticky bit è impostato su una directory, solo il proprietario può cancellare i file (è il caso delle directory /tmp e /var/tmp sotto GNU/Linux)



fonte: Wikipedia


Se ti è piaciuto l'articolo , iscriviti al feed cliccando sull'immagine sottostante per tenerti sempre aggiornato sui nuovi contenuti del blog:


Nessun commento:

Posta un commento

Pages (26)1234567 Next

Random Posts

  • Ubuntu 9.10 Karmic Koala: tutti i programmi dedicati al web software, quinta puntata
    15.07.2010 - 0 Comments
    Tutti i programmi dedicati al web software presenti nella nuova release targata Ubuntu: Karmic Koala. In questa quarta puntata dal navigatore più popolare Magpierss a Qdbm ad altri un po' meno…
  • Ubuntu 10.10 Maverick Meerkat: Software Packages presenti nella categoria Aplicazioni Matematiche, seconda parte.
    25.04.2011 - 0 Comments
    Tutto il software presente nella prossima versione di Ubuntu 10.10 Karmic Koala relativo alla Categoria Applicazioni Matematiche. Come al solito una recensione, sceheda tecnica e istruzioni per il download…
  • Cowsay programma per generare l'immagine ASCII di una mucca con un messaggio.
    07.12.2011 - 0 Comments
    Cowsay è un programma che genera l'immagine ASCII di una mucca con un messaggio. Può anche generare immagini utilizzando immagini di altri animali. Esiste anche un programma analogo chiamato cowthink, con le…
  • Re Ubuntu: i 10 articoli più letti nel mese di Gennaio 2016.
    07.02.2016 - 0 Comments
    1.- Installare Linux su una macchina Dos con i vantaggi e difetti di UMSDOS. Il titolo può trarre in inganno, in quanto Linux è un Sistema Operativo indipendente dal Dos, ma c'è molta gente che pensa di non…
  • Cosa c'è di nuovo in GNOME 40?  Insieme al suo nuovo look un nuovo modo di lavorare.
    10.09.2021 - 2 Comments
    GNOME 40 ha più di un nuovo schema di numerazione. Insieme al suo nuovo look arriva un nuovo modo di lavorare. Le vecchie metafore verticali sono sparite, sostituite da temi e layout orizzontali. Diamo…

I miei preferiti in Instagram

Archivio