Filesystem: i permessi sui files: differenze tra le versioni

m
nessun oggetto della modifica
(→‎setuid: sudo, su e altri eseguibili setuid)
mNessun oggetto della modifica
 
(4 versioni intermedie di 2 utenti non mostrate)
Riga 1: Riga 1:
{{Versioni compatibili}}
{{File_System
== Impostare o modificare i permessi su file e directory ==
|successivo=Udev
}}{{Versioni_compatibili}}{{File_System1}}
 
== Modificare il proprietario o il gruppo di un file ==
== Modificare il proprietario o il gruppo di un file ==
In ambito Unix e GNU/Linux, quando un file viene creato esso appartiene all'utente che l'ha creato e al gruppo principale cui l'utente appartiene.<br/>
In ambito Unix e GNU/Linux, quando un file viene creato esso appartiene all'utente che l'ha creato e al gruppo principale cui l'utente appartiene.<br/>
Il comando <code>'''chown'''</code> ('''CH'''ange '''OWN'''ership) permette di modificare sia l'utente sia il gruppo proprietario di un file. Per motivi di sicurezza, in ambienti GNU/Linux di default sono necessari i [[privilegi di amministratore]] per cambiare il proprietario di un file, anche se si tratta di uno dei propri file.<br/>
Il comando <code>'''chown'''</code> ('''CH'''ange '''OWN'''ership) permette di modificare sia l'utente sia il gruppo proprietario di un file. Per motivi di sicurezza, in ambienti GNU/Linux di default sono necessari i [[privilegi di amministrazione]] per cambiare il proprietario di un file, anche se si tratta di uno dei propri file.<br/>
La sua sintassi:
La sua sintassi:
<pre>
<pre>
Riga 40: Riga 42:
</pre>
</pre>


Per motivi di sicurezza si può cambiare il gruppo di un file soltanto in due casi: si invoca il comando con [[privilegi di amministratore]], oppure l'utente che lo invoca è sia il proprietario del file sia un membro del gruppo scelto.
Per motivi di sicurezza si può cambiare il gruppo di un file soltanto in due casi: si invoca il comando con [[privilegi di amministrazione]], oppure l'utente che lo invoca è sia il proprietario del file sia un membro del gruppo scelto.


== Modificare i permessi sui file ==
== Modificare i permessi sui file ==
Riga 49: Riga 51:
Similmente annullare tutti i permessi relativi ad una certa directory rende impossibile accedere a tutte le relative sotto-directory, risultano dunque impedite anche semplici operazioni come elencare gli elementi in esse contenuti.}}
Similmente annullare tutti i permessi relativi ad una certa directory rende impossibile accedere a tutte le relative sotto-directory, risultano dunque impedite anche semplici operazioni come elencare gli elementi in esse contenuti.}}


Per motivi di sicurezza, soltanto il proprietario di un file può cambiarne i permessi senza [[privilegi di amministratore]].
Per motivi di sicurezza, soltanto il proprietario di un file può cambiarne i permessi senza [[privilegi di amministrazione]].


=== Modalità simbolica di chmod ===
=== Modalità simbolica di chmod ===
Riga 95: Riga 97:
<pre>
<pre>
$ chmod -R u+rwX,g+rX,o+rX directory
$ chmod -R u+rwX,g+rX,o+rX directory
</pre>
Rimuovere il permesso di esecuzione ai file regolari, assicurandone invece la presenza per le directory:
<pre>
$ chmod -R a-x,a+X directory
</pre>
</pre>


Riga 109: Riga 116:
{{Warningbox | Si consideri che se l'eseguibile contiene falle sfruttabili da terzi, si avrebbe creato un modo per ottenere gli stessi privilegi del proprietario, permettendo la lettura, l'alterazione e la cancellazione di tutto quello che l'utente ha creato.
{{Warningbox | Si consideri che se l'eseguibile contiene falle sfruttabili da terzi, si avrebbe creato un modo per ottenere gli stessi privilegi del proprietario, permettendo la lettura, l'alterazione e la cancellazione di tutto quello che l'utente ha creato.


Questo è ancora peggio con gli eseguibili appartenenti a [[root]], che esporrebbe l'intero sistema a un rischio di ''privilege escalation'', e ovviamente l'operazione richiederebbe [[privilegi di amministratore]].
Questo è ancora peggio con gli eseguibili appartenenti a [[root]], che esporrebbe l'intero sistema a un rischio di ''privilege escalation'', e ovviamente l'operazione richiederebbe [[privilegi di amministrazione]].


'''Mai''' aggiungere il bit ''setuid'' a un eseguibile che si vuole eseguire come amministratore, se non si è più che certi di quello che si sta facendo.}}
'''Mai''' aggiungere il bit ''setuid'' a un eseguibile che si vuole eseguire come amministratore, se non si è più che certi di quello che si sta facendo.}}


Si noti che i comandi <code>su</code> e <code>sudo</code> utilizzano tale bit per permettere all'utente, previa autenticazione, di ottenere [[privilegi di amministratore]] oppure eseguire un comando come un altro utente. E vale lo stesso per altri comandi di sistema, che utilizzano tali privilegi per lo stretto necessario.
Si noti che i comandi <code>su</code> e <code>sudo</code> utilizzano tale bit per permettere all'utente, previa autenticazione, di ottenere [[privilegi di amministrazione]] oppure eseguire un comando come un altro utente. E vale lo stesso per altri comandi di sistema, che utilizzano tali privilegi per lo stretto necessario.


==== setgid ====
==== setgid ====
3 581

contributi