In tutti i sistemi *nix (Unix, Linux) esiste l'utente "root", che è l'amministratore del sistema, colui che può fare qualsiasi attività sul pc, compreso cancellare files importanti e modificare partizioni.
Alla fine della vostra installazione di ubuntu avete così due utenti: quello che avete impostato voi durante l'installazione e questo utente "root".
Tradizionalmente in Linux per fare tutte le operazioni importanti si effettua il login come utente "root". Su ubuntu questo utente è stato di default disabilitato dal login e non ha password.
Sicchè, gli utenti con i superpoteri sono quelli che fanno parte del gruppo "admin".
Questi utenti "admin" (che può anche essere uno solo, non per forza tanti utenti), quando devono fare operazioni pericolose, devono fare precedere tali comandi da "sudo" (verrà richiederà la password).
Se fate un utente nuovo, dall'apposito pannellino in "Sistema --> Amministrazione --> Utenti e gruppi", potete dare anche a lui la possibilità di usare "sudo", barrando la casellina che gli assegna i privilegi di amministratore.
L'assegnazione ad un gruppo, come "admin" si può fare anche da riga di comando con:
Â
adduser nome_utente admin
Â
Perchè è importante che lo sappiate fare anche da riga di comando oltre che da pannello? Risposta: Perchè questo potrebbe salvarvi..Fidatevi.
Detto questo, altra questione importante su Linux, è che ogni file ha assegnati dei "permessi".
Ogni file in Linux ha tre parametri di "permessi":
0 = Nessun permesso | - |
1 = Esecuzione | (x) |
2 = Scrittura | (w) |
3 = Esecuzione + Scrittura | (xw) |
4 = Lettura | (r) |
5 = Lettura + Esecuzione | (rx , è la somma dei valori 1+4) |
6 = Lettura + Scrittura | (rw, 2+4) |
7 = Lettura + Scrittura + Esecuzione | (rwx, 1+2+4) |
chmod 777 -R cartella | In questo modo abbiamo impostato il permesso di lettura scrittura ed esecuzione ( 4+2+1 = 7 ) rispettivamente per proprietario, gruppo e utenti. La -R serve per applicare i permessi anche su tutte le sottocartelle e i files all'interno. |
chmod 644 ciccio | lettura e scrittura ( 4+2 = 6 ) per il proprietario e solo lettura ( 4 ) per gruppo e utenti. Equivalente a chmod u+w file |
chmod 400 file | Se vogliamo che possa accedere a un file in lettura solo il proprietario (passare quindi da -r--r--r-- a -r--------). Equivalente a chmod go-r file |
chmod 755 cartella | Così assegni permessi di lettura scrittura esecuzione al proprietario, lettura esecuzione al gruppo,lettura esecuzione agli altri. |
ls -l
Â
Verranno elencati i file presenti nella cartella, ogni riga avrà un aspetto simile a questo:
Â
drwxr-xr-x 5 root root 4096 2007-01-05 18:08 home
Â
Come potete vedere, quella è la riga della cartella "home", la prima colonna è quella che ci interessa per sapere i permessi.
Il primo carattere (d) indica l'attributo, ("d" vuole dire directory), saltatelo.
I successivi nove caratteri sono i permessi, vanno letti a 3 a 3, ovvero: (rwx) (r-x) (r-x) quindi, in questo caso, è come dire "755" (proprietario, gruppo, altri).
La terza colonna e la quarta (root e root) indicano rispettivamente il "proprietario" e il "gruppo" del file.
Altri comandi utili ed importanti per file e cartelle:
cd | Il comando cd serve a spostarsi tra le directory. Ad esempio, facendo "cd /etc" ci si sposta nella directory "etc". "cd .." : serve invece a spostarsi nella cartella superione a quella in cui vi trovate. |
df -h | Visualizza lo spazio libero rimasto nelle partizioni. Oppure nel pannello "applicazioni-->accessori" di GNOME c'è un analizzatore dello spazio occupato. |
du -s /home | Restituisce la dimensione totale complessiva di una cartella, in questo caso la cartella "home". |
free | Memoria di sistema libera |
sudo gedit /etc/fstab | Vi mostra il file in cui vengono indicati i filesystem utilizzati e le directory ad essi associate. |
gksudo kdesu | Vedi "su" e "sudo". Se dovete avviare applicazioni grafiche con i privilegi di root (cioè dell'amministratore del sistema), se usate "sudo" potreste avere qualche problema. Usare invece gksudo per applicazioni Gnome e kdesu per quelle KDE in modo che carichi come root anche le librerie grafiche che servono a quei programmi. Utilizzo tipico: "gksudo nautilus". Facendo così si possono creare e modificare file in cartelle protette senza usare la shell. |
ls -a | ls serve per elencare il contenuto di una directory. L'opzione -a serve a vedere anche i file nascosti |
mv | Il comando mv serve per spostare, o rinominare, file e directory. |
rm -r nomecartella | Rimuove la cartella con il suo contenuto. Il comando rm viene usato anche per cancellare files. |
mkdir nomecartella | Crea una nuova cartella |
su | passare ad utente di root. Se la password non va reimpostala con "sudo passwd root" |
sudo | sudo (SUperuser DO) è un programma che consente di eseguire dei comandi con i privilegi di amministratore (sempre che vi sia abilitato). Facendo su si diventa a tutti gli effetti root. sudo invece assume i privilegi di root solo per un tempo limitato (15 minuti, di base). |
which | Mostra il percorso completo di un file |
Molte grazie
finalmento ho capito la storia dei permessi utenti gruppi.
Sarebbe auspicabile una versione stampabile da tenere nella documentazione e come salvagente.
Diego Galli
Via San Gottardo 116
CH-6648 Minusio Svizzera
Grazie a voi :)
Nei prossimi mesi farò una revisione di tutte le guide, ne aggiornerò qualcosina e preparerò una versione stampabile in pdf :)
State in linea
sono alle prime armi con ubuntu e questa guida è davvero utile per capire il funzionamento dei permssi dei file, sarebbe bello integrare anche la parte dei diritti legati a likewise (join con dominii Active Directory).
comunque molto utile.
grazie
accidenti!
allora come faccio a cautelarmi dalla sovrascrittura di (soltanto) certi file di una partizione NTFS mentre uso Linux ?
grazie a questa semplice guida sono riuscito ad ottenere i permessi per le cartelle
grazie
erano giorni che nessuno sapeva come fare sui vari forum
Semplice guida ma molto utile!! Non conoscevo l'esistenza di alcuni utili comandi, come "du"...
ciao
MC
matteoc
appelli.wordpress.com
Salve sto installando magento in locale ma purtroppo non mi rende in scritture le seguenti cartelle
Path "/opt/lampp/htdocs/magento/app/etc&
quot; must be writable.
Path "/opt/lampp/htdocs/magento/var"
; must be writable.
Path "/opt/lampp/htdocs/magento/media&qu
ot; must be writable.
ho provato sia sudo chmod 755 nomecartella
Quando provo adeseguire il comando chmod
mi da il seguente errore
udo: /var/lib/sudo writable by non-owner (040777), should be mode 0700
Sia con sudo chmod -R 777 /var
qualcuno mi potrebbe chiarire dove sbaglio grazie
ma le cartelle sono sempre
grazie mille!
raramente si trovano guide così chiare e concise, mi sarei accontentato di copiare ed incollare un comando invece ora ho le idee chiare sul funzionamento dei permessi CHMOD!