cosa vuol dire 0666 & ~0147 = 0620.questo l'trovato relativamente all'umask in pratica 0147 sono i permessi da negare.perchè quell'operazione fa 0620?Come si usano gli operatori bitwise tra ottali?Grazie per l'aiuto.
cosa vuol dire 0666 & ~0147 = 0620.questo l'trovato relativamente all'umask in pratica 0147 sono i permessi da negare.perchè quell'operazione fa 0620?Come si usano gli operatori bitwise tra ottali?Grazie per l'aiuto.
Su che distribuzione lavori?
Su redhat enterprise l'umask lavora diversamente. Vale a dire che alla creazione di un file non può essere assegnato automaticamente il permesso di esecuzione. Solo con il chmod, successivamente alla creazione, si può renderlo eseguibile.
0666 - 0147 sarebbe 0520 cioé r-x-w----
poiché come dicevo, non è possibile creare un file eseguibile, il risultato sarà comunque 0620 quindi rw--w----
Spero di essere stato chiaro.
Il caso che hai postato mi sembra proprio redhat compliant.
Hai ragione mi sono dimenticato di dirti che lavoro su ubuntu che si comporta proprio come dici tu.Potresti chiarirmi perchè equivale ad una diffenrenza?Quell'operazione l'ho trovata su wikipedia sotto la voce umask.Grazie di nuovo.
Hai familiarità con le operazioni logiche? In pratica l'umask serve per fare uno XOR sui permessi. Lo XOR è anche una porta logica che serve per fare addizioni e di conseguenza sottrazioni.
Esiste una cosa chiamata tabella di verità che ti spiega come funziona.
0 xor 0 = 0
1 xor 0 = 1
0 xor 1 = 1
1 xor 1 = 0
L'umask funziona proprio così.
Ragionando con gli 1 e 0 al posto dei consueti r,w,x te ne puoi rendere conto:
ad esempio con l'umask 0147 hai una rappresentazione in bit 0(001)(100)(111).
Se con l'umask fai lo xor con 0666 cioé 0(110)(110)(110) usando la tabella sopra, ottieni: 0(111)(011)(001) che in ottale è 0731.
Ma poiché c'è la restrizione sui permessi di esecuzione, diventa 0(110)(010)(000). Passando dai bit ai agli ottali: 0620.
Un ultima cosa.....&~ equivale a XOR?
Veramente il simbolo dovrebbe essere un + con un cerchio attorno.
Oppure questo : ^
Tutto chiarissimo.Sei stato gentilissimo.Saluti,Andrea.