Filesystem: i permessi sui files: differenze tra le versioni

m
+ template autori
m (+ template autori)
Riga 1: Riga 1:
{{Versioni compatibili}}
{{Versioni compatibili}}
== Impostare o modificare i permessi su files e directory ==
== Impostare o modificare i permessi su file e directory ==
== 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.<br/>
Il comando <code>'''chown'''</code> ('''CH'''ange '''OWN'''ership) permette di modificare sia l'utente sia il gruppo proprietario di un file.<br/>
La sua sintassi:
La sua sintassi:
Riga 10: Riga 10:
I possibili attributi hanno questi significati:
I possibili attributi hanno questi significati:
* <code>'''-f'''</code> : Non riporta alcun messaggio d'errore nel caso in cui il comando non abbia successo
* <code>'''-f'''</code> : Non riporta alcun messaggio d'errore nel caso in cui il comando non abbia successo
* <code>'''-h'''</code> : Se il file è un link simbolico, cambia l'uid e il gid del link
* <code>'''-h'''</code> : Se il file è un link simbolico, cambia l'[[UID]] e il [[GID]] del link
* <code>'''-L'''</code> : Se è specificata l'opzione -R, segue tutti i link simbolici
* <code>'''-L'''</code> : Se è specificata l'opzione -R, segue tutti i link simbolici
* <code>'''-P'''</code> : Se è specificata l'opzione -R, nessun link è seguito
* <code>'''-P'''</code> : Se è specificata l'opzione -R, nessun link è seguito
* <code>'''-R'''</code> : Cambia uid e gid ricorsivamente in tutti i files e sottocartelle a partire dal file specificato
* <code>'''-R'''</code> : Cambia UID e GID ricorsivamente in tutti i file e sottocartelle a partire dal file specificato
* <code>'''-v'''</code> : L'opzione verbose serve per avere un output dettagliato sui risultati del comando eseguito
* <code>'''-v'''</code> : L'opzione verbose serve per avere un output dettagliato sui risultati del comando eseguito
Almeno uno tra il proprietario (owner) e il gruppo (group) va specificato. Se viene specificato il gruppo, questo deve essere preceduto dal segno dei due punti (:). Il proprietario e il gruppo possono essere indicati sia tramite user/group name sia tramite uid e gid.
Almeno uno tra il proprietario (owner) e il gruppo (group) va specificato. Se viene specificato il gruppo, questo deve essere preceduto dal segno dei due punti (:). Il proprietario e il gruppo possono essere indicati sia tramite ''user/group name'' sia tramite UID e GID.
=== Esempi ===
=== Esempi ===
Nel seguente esempio vogliamo di assegnare al file "filetest1" l'utente proprietario "utente1":
Nel seguente esempio vogliamo di assegnare al file "filetest1" l'utente proprietario "utente1":
Riga 35: Riga 35:


== Modificare il gruppo di un file o una directory ==
== Modificare il gruppo di un file o una directory ==
<code>'''Chgrp'''</code> è un comando, dalla sintassi simile a <code>chown</code>, per cambiare solo il gruppo proprietario di un file:
<code>'''Chgrp'''</code> è un comando, dalla sintassi simile a [[chown]], per cambiare solo il gruppo proprietario di un file:
<pre>
<pre>
# chgrp  gruppo1  filetest1
# chgrp  gruppo1  filetest1
</pre>
</pre>
== Modificare i permessi sui files ==
== Modificare i permessi sui file ==
Il comando che permette di gestire i permessi su file e directory è <code>'''chmod'''</code>.<br/>
Il comando che permette di gestire i permessi su file e directory è <code>'''chmod'''</code>.<br/>
Ci sono due modi per impostare i permessi utilizzando il comando <code>chmod</code>, la '''modalità simbolica''' e la '''modalità numerica ottale'''.
Ci sono due modi per impostare i permessi utilizzando il comando [[chmod]], la '''modalità simbolica''' e la '''modalità numerica ottale'''.


{{ Warningbox | Perché un utente possa scrivere in una certa directory è necessario che lo stesso utente abbia almeno i permessi di esecuzione e lettura su tutte le directory a monte della stessa, in caso contrario non potrà ne creare ne modificare nulla anche se possiede tutti i permessi per la sotto-directory in questione.
{{ Warningbox | Perché un utente possa scrivere in una certa directory è necessario che lo stesso utente abbia almeno i permessi di esecuzione e lettura su tutte le directory a monte della stessa, in caso contrario non potrà creare modificare nulla anche se possiede tutti i permessi per la sotto-directory in questione.<br/>
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. }}


Riga 56: Riga 56:
* <code>'''a'''</code> = all - applica i permessi a tutti gli utenti,
* <code>'''a'''</code> = all - applica i permessi a tutti gli utenti,
* <code>'''+'''</code> = questo operatore logico aggiunge i permessi specificati,
* <code>'''+'''</code> = questo operatore logico aggiunge i permessi specificati,
* <code>'''-'''</code> = questo operatore logico rimuove i permessi specificati,
* <code>'''-'''</code> = questo operatore logico rimuove i permessi specificati,
* <code>'''r'''</code> = indica il permesso di lettura,
* <code>'''r'''</code> = indica il permesso di lettura,
* <code>'''w'''</code> = indica il permesso di scrittura,
* <code>'''w'''</code> = indica il permesso di scrittura,
Riga 74: Riga 74:
$ chmod u+rx filetest1
$ chmod u+rx filetest1
</pre>
</pre>
Si noti che nel primo caso si sarebbe potuto ottenere lo stesso risultato scrivendo <code>chmod -rwx filetest1</code>, ovvero evitando di specificare il destinatario della modifica dei permessi si ottiene lo stesso risultato che si avrebbe specificando 'a', cioè tutti.
Si noti che nel primo caso si sarebbe potuto ottenere lo stesso risultato scrivendo:
<pre>
# chmod -rwx filetest1
</pre>
ovvero, evitando di specificare il destinatario della modifica dei permessi, si ottiene lo stesso risultato che si avrebbe specificando 'a', cioè tutti.


==== setuid ====
==== setuid ====
Riga 81: Riga 85:
$ chmod u+s file_eseguibile
$ chmod u+s file_eseguibile
</pre>
</pre>
Permette di derogare a quanto fin qui scritto, in particolare se l'opzione '+s' è aggiunta al solo proprietario e l'oggetto è un file eseguibile allora quando questo verrà avviato sarà eseguito sia con i privilegi dell'utente che ha effettivamento eseguito il file sia con quelli del proprietario. Naturalmente perché tutto ciò abbia senso è necessario che il file sia eseguibile oltre che dal proprietario anche dal gruppo e/o da chiunque.
Permette di derogare a quanto fin qui scritto, in particolare se l'opzione '+s' è aggiunta al solo proprietario e l'oggetto è un file eseguibile allora quando questo verrà avviato sarà eseguito sia con i privilegi dell'utente che ha effettivamente eseguito il file sia con quelli del proprietario. Naturalmente perché tutto ciò abbia senso è necessario che il file sia eseguibile oltre che dal proprietario anche dal gruppo e/o da chiunque.<br/>
Per quanto riguarda il proprietario questo è l'unico caso di utilizzo della suddetta opzione, infatti risulta del tutto inutile se applicata a cartelle o file non eseguibili.
Per quanto riguarda il proprietario questo è l'unico caso di utilizzo della suddetta opzione, infatti risulta del tutto inutile se applicata a cartelle o file non eseguibili.


Riga 101: Riga 105:


=== Modalità numerica ottale di chmod ===
=== Modalità numerica ottale di chmod ===
Un altro modalità per settare i permessi è la modalità numerica ottale, in cui si specifica un valore numerico composto da quattro cifre, ognuna rappresentata da un valore numerico che va "0" a "7", come per esempio "2741".<br/>
Un'altra modalità per settare i permessi è la modalità numerica ottale, in cui si specifica un valore numerico composto da quattro cifre, ognuna rappresentata da un valore numerico che va "0" a "7", come per esempio "2741".<br/>
Il valore che va da "0" a "7" rappresenta in forma numerica i permessi come di seguito riportato:
Il valore che va da "0" a "7" rappresenta in forma numerica i permessi come di seguito riportato:
   4 è uguale a lettura(r),
   4 è uguale a lettura(r),
Riga 119: Riga 123:
# chmod 0700 filetest1
# chmod 0700 filetest1
</pre>
</pre>
o in maniera analoga, dal momento che le cifre omesse partendo da sinistra sono considerate "0":
o, in maniera analoga, dal momento che le cifre omesse partendo da sinistra sono considerate "0":
<pre>
<pre>
# chmod 700 filetest1
# chmod 700 filetest1
Riga 132: Riga 136:


Lo schema di permessi predefinito per ogni utente è ''755'', tuttavia tale valore può essere cambiato editando il corrispondente file <code>~/.profile</code> e decommentando la voce predefinita <code>umask 022</code>, dove al posto di ''022'' deve essere indicato il valore desiderato.
Lo schema di permessi predefinito per ogni utente è ''755'', tuttavia tale valore può essere cambiato editando il corrispondente file <code>~/.profile</code> e decommentando la voce predefinita <code>umask 022</code>, dove al posto di ''022'' deve essere indicato il valore desiderato.
Ad esempio per ottenere uno schema ''775'' bisognerebbe specificare <code>umask 002</code>, si tratta cioè si specificare quella maschera che sottratta cifra per cifra al valore ''777'' resituisce lo schema desiderato. Non a caso ''022'' è la maschera associata allo schema ''755'', infatti 7-0=7 e 7-2=5.
Ad esempio per ottenere uno schema ''775'' bisognerebbe specificare <code>umask 002</code>, si tratta cioè si specificare quella maschera che sottratta cifra per cifra al valore ''777'' restituisce lo schema desiderato. Non a caso ''022'' è la maschera associata allo schema ''755'', infatti 7-0=7 e 7-2=5.


È possibile definire la maschera predefinita anche altrove, si veda a tal proposito <pre>man pam_umask 8</pre>
È possibile definire la maschera predefinita anche altrove, si veda a tal proposito <pre>man pam_umask 8</pre>
Riga 138: Riga 142:
== ACL: Access Control List ==
== ACL: Access Control List ==


È un sistema di gestione dei permessi più fine di quello base descritto sopra, che permette ad esempio di specificare particolari permessi anche per quegli utenti che non possiedono una certa cartella, quando di norma invece è possibile specificarli solo per un gruppo di utenti e non per i singoli.
È un sistema di gestione dei permessi più fine di quello base descritto sopra, che permette ad esempio di specificare particolari permessi anche per quegli utenti che non possiedono una certa cartella, quando di norma invece è possibile specificarli solo per un gruppo di utenti e non per i singoli.<br/>
Si veda [http://wiki.debian.org/it/Permissions#ACL:_elenchi_di_controllo_degli_accessi_in_Linux questa pagina] per ulteriori informazioni.
Si veda [http://wiki.debian.org/it/Permissions#ACL:_elenchi_di_controllo_degli_accessi_in_Linux questa pagina] per ulteriori informazioni.


Riga 149: Riga 153:
{{Suggerimento|Per favore se modifichi questa guida aggiungi nel box "NOTE" sottostante "Estesa da: mio_nome_utente", se invece l'hai semplicemente consultata, ma ne hai verificato personalmente la correttezza, aggiungi sempre nello stesso box "Verificata da: mio_nome_utente". In questo modo aiuti la comunità a tenere traccia della [http://guide.debianizzati.org/index.php/Aiuto:Contents#Evoluzione_delle_guide maturità] della guida.}}
{{Suggerimento|Per favore se modifichi questa guida aggiungi nel box "NOTE" sottostante "Estesa da: mio_nome_utente", se invece l'hai semplicemente consultata, ma ne hai verificato personalmente la correttezza, aggiungi sempre nello stesso box "Verificata da: mio_nome_utente". In questo modo aiuti la comunità a tenere traccia della [http://guide.debianizzati.org/index.php/Aiuto:Contents#Evoluzione_delle_guide maturità] della guida.}}


{{Box|NOTE|Autore: [[Utente:Ferdybassi|Ferdybassi]]
{{Autori
:Verificato da: [[Utente:Wtf|Wtf]]
|Autore=[[Utente:Ferdybassi|Ferdybassi]]
|Verificata_da=
: [[Utente:Wtf|Wtf]]
|Numero_revisori=1
}}
}}


6 999

contributi