- regolato dagli ordinari permessi dei file a cui essi fanno riferimento:
- occorre avere il permesso di lettura per leggerli e quello di scrittura per
- scriverli o modificarli. Dato l'uso di questi attributi, si è scelto cioè di
- applicare per il loro accesso gli stessi criteri che si usano per l'accesso
- al contenuto dei file (o delle directory) cui essi fanno riferimento.
-
- Questa scelta vale però soltanto per i file e le directory ordinarie, se
- valesse in generale infatti si avrebbe un serio problema di sicurezza dato
- che esistono diversi oggetti sul filesystem per i quali è normale avere
- avere il permesso di scrittura consentito a tutti gli utenti, come i link
- simbolici, o alcuni file di dispositivo come \texttt{/dev/null}. Se fosse
- possibile usare su di essi gli \textit{extended user attributes} un utente
- qualunque potrebbe inserirvi dati a piacere.\footnote{la cosa è stata notata
- su XFS, dove questo comportamento permetteva, non essendovi limiti sullo
- spazio occupabile dagli \textit{Extended Attributes}, di bloccare il
- sistema riempiendo il disco.}
-
- La semantica del controllo di accesso che abbiamo indicato inoltre non
- avrebbe alcun senso al di fuori di file e directory: i permessi di lettura e
- scrittura per un file di dispositivo attengono alle capacità di accesso al
- dispositivo sottostante,\footnote{motivo per cui si può formattare un disco
- anche se \texttt{/dev} è su un filesystem in sola lettura.} mentre per i
- link simbolici questi vengono semplicemente ignorati: in nessuno dei due
- casi hanno a che fare con il contenuto del file, e nella discussione
- relativa all'uso degli \textit{extended user attributes} nessuno è mai stato
- capace di indicare una qualche forma sensata di utilizzo degli stessi per
- link simbolici o file di dispositivo, e neanche per le fifo o i socket.
-
- Per questo motivo gli \textit{extended user attributes} sono stati
- completamente disabilitati per tutto ciò che non sia un file regolare o una
- directory.\footnote{si può verificare la semantica adottata consultando il
- file \texttt{fs/xattr.c} dei sorgenti del kernel.} Inoltre per le
- directory è stata introdotta una ulteriore restrizione, dovuta di nuovo alla
- presenza ordinaria di permessi di scrittura completi su directory come
- \texttt{/tmp}. Questo è un altro caso particolare, in cui il premesso di
- scrittura viene usato, unito alla presenza dello \itindex{sticky~bit}
- \textit{sticky bit}, per garantire il permesso di creazione di nuovi file.
- Per questo motivo, per evitare eventuali abusi, se una directory ha lo
- \itindex{sticky~bit} \textit{sticky bit} attivo sarà consentito scrivere i
- suoi \textit{extended user attributes} soltanto se si è proprietari della
- stessa, o si hanno i privilegi amministrativi della capability
- \index{capabilities} \const{CAP\_FOWNER}.
+ regolato dai normali permessi dei file: occorre avere il permesso di lettura
+ per leggerli e quello di scrittura per scriverli o modificarli. Dato l'uso
+ di questi attributi si è scelto di applicare al loro accesso gli stessi
+ criteri che si usano per l'accesso al contenuto dei file (o delle directory)
+ cui essi fanno riferimento. Questa scelta vale però soltanto per i file e le
+ directory ordinarie, se valesse in generale infatti si avrebbe un serio
+ problema di sicurezza dato che esistono diversi oggetti sul filesystem per i
+ quali è normale avere avere il permesso di scrittura consentito a tutti gli
+ utenti, come i link simbolici, o alcuni file di dispositivo come
+ \texttt{/dev/null}. Se fosse possibile usare su di essi gli \textit{extended
+ user attributes} un utente qualunque potrebbe inserirvi dati a
+ piacere.\footnote{la cosa è stata notata su XFS, dove questo comportamento
+ permetteva, non essendovi limiti sullo spazio occupabile dagli
+ \textit{Extended Attributes}, di bloccare il sistema riempiendo il disco.}
+
+ La semantica del controllo di accesso indicata inoltre non avrebbe alcun
+ senso al di fuori di file e directory: i permessi di lettura e scrittura per
+ un file di dispositivo attengono alle capacità di accesso al dispositivo
+ sottostante,\footnote{motivo per cui si può formattare un disco anche se
+ \texttt{/dev} è su un filesystem in sola lettura.} mentre per i link
+ simbolici questi vengono semplicemente ignorati: in nessuno dei due casi
+ hanno a che fare con il contenuto del file, e nella discussione relativa
+ all'uso degli \textit{extended user attributes} nessuno è mai stato capace
+ di indicare una qualche forma sensata di utilizzo degli stessi per link
+ simbolici o file di dispositivo, e neanche per le fifo o i socket. Per
+ questo motivo essi sono stati completamente disabilitati per tutto ciò che
+ non sia un file regolare o una directory.\footnote{si può verificare la
+ semantica adottata consultando il file \texttt{fs/xattr.c} dei sorgenti
+ del kernel.} Inoltre per le directory è stata introdotta una ulteriore
+ restrizione, dovuta di nuovo alla presenza ordinaria di permessi di
+ scrittura completi su directory come \texttt{/tmp}. Per questo motivo, per
+ evitare eventuali abusi, se una directory ha lo \itindex{sticky~bit}
+ \textit{sticky bit} attivo sarà consentito scrivere i suoi \textit{extended
+ user attributes} soltanto se si è proprietari della stessa, o si hanno i
+ privilegi amministrativi della capability \index{capabilities}
+ \const{CAP\_FOWNER}.