Se il bit di suid non ha alcun effetto sulle directory e il bit appiccicoso non ha alcun effetto sui file, perché non sono combinati in un bit?


18

Ciò consentirebbe di risparmiare un bit per file o è necessario utilizzare comunque il padding? E anche se c'è imbottitura, perché non combinarli ancora e utilizzare il bit in più per una nuova funzionalità?


3
La parte adesiva fa qualcosa sui file ordinari. Vedi en.wikipedia.org/wiki/Sticky_bit per il numero di modi in cui viene utilizzato.
Giosuè il

@Joshua Questo è interessante, ed è un buon punto che su nix non Linux * il comportamento varia. Ma avevo Linux in mente per questa domanda. Mi chiedo però se qualcuno su un kernel Linux con BSD amd e ls possa ancora dipendere dal bit del file sticky? E immagino che vari programmi di userland possano controllarlo / agire su di esso anche se non ne conosco altri comuni.
Harry,

Risposte:


26

Per ragioni storiche. Il bit appiccicoso veniva originariamente utilizzato per uno scopo completamente diverso: se era impostato su un file eseguibile, diceva al sistema operativo di conservare il segmento di testo in scambio. Da qui il nome "Sticky Bit".


Grazie, ma ciò impedisce loro di essere ancora "un po '" internamente? Oppure un risparmio di un bit non è abbastanza significativo a livello di file?
Harry,

6
Un file eseguibile può avere tutte e quattro le combinazioni di suid e sticky.
Johan Myréen,

Sì, da qui la domanda originale. Forse meglio espresso, perché il nome (o l'utilizzo passato) del bit appiccicoso ha qualcosa a che fare con la combinazione con il bit di suid oggi? Le funzioni di entrambi i bit non potrebbero essere combinate in un bit "appiccicoso / suid", che funziona come suid quando impostato su file ma appiccicoso quando impostato su directory?
Harry,

17
Interrompi la compatibilità con le versioni precedenti se sposti i bit. chmod 4755 fileimposta il bit di suid e chmod 1755 dirimposta il bit appiccicoso. Non vogliamo rompere vecchi script solo per salvare un singolo bit per file, vero? Naturalmente, internamente un file system è gratuito per implementare l'ottimizzazione, purché l'interfaccia esterna rimanga invariata.
Johan Myréen,

6
@Johan Myréen: E ovviamente non avresti effettivamente salvato quel bit, sarebbe diventato solo un bit inutilizzato nel campo di autorizzazione byte / word.
jamesqf,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.