Guida all`utilizzo di base di Linux

Transcript

Guida all`utilizzo di base di Linux
I.S. “Sobrero”
Dipartimento di Informatica
Utilizzo
install.linux@home
16/02/2007
install.linux@home
Marco Marchisotti
1
La shell
La shell di Linux è a linea di comando.
Appare obsoleta e difficile da usare, ma in realtà è molto più
potente e versatile di qualunque interfaccia grafica
Per imparare ad utilizzare i vari comandi possiamo ricorrere
alla consultazione dei manuali in linea con il comando man
man comando permette di visualizzare le pagine del manuale
per “comando”
16/02/2007
install.linux@home
Marco Marchisotti
2
Multiutenza
Il sistema operativo Linux è multiutente, più utenti possono
contemporaneamente utilizzare lo stesso computer.
16/02/2007
install.linux@home
Marco Marchisotti
3
Caratteristiche degli utenti
Ogni utente (user) è identificato da:
Username: nome dell'utente;
Password: parola chiave di accesso;
UID: un numero identificatore univoco;
Gruppo: gruppo di utenti a cui appartiene;
Home: percorso della directory personale.
Ad ogni utente che possiede un account sul sistema viene
associata una directory personale che l'utente può utilizzare
a sua discrezione. Questa directory è chiamata home.
È possibile riferirsi a tale directory con il carattere ~.
~ indica la home dell'utente corrente
~marco indica la home dell'utente marco
16/02/2007
install.linux@home
Marco Marchisotti
4
Caratteristiche degli utenti - L'utente root
In Linux/Unix è l'amministratore del sistema.
root può fare qualsiasi cosa all'interno del sistema, anche
distruggerlo.
Tutti gli altri utenti hanno permessi limitati sul sistema.
Servono per la quotidianità: elaborazione testi, fogli di
calcolo, scrittura di programmi, ....
Non hanno alcun permesso di amministrazione
Buona norma di utilizzo:
Non utilizzare root per l'utilizzo quotidiano del sistema.
16/02/2007
install.linux@home
Marco Marchisotti
5
Caratteristiche degli utenti - Gruppi di utenti
Gli utenti vengono organizzati dal sistema in gruppi.
Ogni gruppo presenta le seguenti caratteristiche:
Groupname: è il nome del gruppo;
GID: un numero identificatore univoco del gruppo;
Users: gli username degli utenti che compongono il gruppo.
Le informazioni sui gruppi vengono mantenute nel file
/etc/group
16/02/2007
install.linux@home
Marco Marchisotti
6
Caratteristiche degli utenti - Gli altri
Quando lavoriamo siamo connessi al sistema con il nostro
username che appartiene ad uno o più gruppi di utenti.
Sul sistema possono lavorare diversi altri utenti, alcuni
appartenenti al nostro stesso gruppo, altri appartenenti a
gruppi diversi.
Gli utenti che non appartengono al nostro gruppo sono detti
others.
16/02/2007
install.linux@home
Marco Marchisotti
7
Caratteristiche degli utenti – Gestione utenti
Creazione utenti con il comando:
useradd giovanni
useradd -G studenti, barbara
Cancellazione utenti con il comando:
userdel giovanni
Modifica della password con il comando:
passwd
Modifica delle proprietà dell'utente con il comando:
usermod -G studenti giovanni
Aggiunta di gruppi con il comando:
groupadd studenti
Cancellazione di gruppi con il comando:
groupdel studenti
16/02/2007
install.linux@home
Marco Marchisotti
8
Caratteristiche degli utenti – Gestione utenti
Esempio di file /etc/passwd:
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
marco:x:1000:1000:marco,,,:/home/marco:/bin/bash
mario:x:1001:1002:mario,,,:/home/mario:/bin/bash
camilla:x:1002:1002:camilla,,,:/home/camilla:/bin/bash
rosetta:x:1003:1003:rosetta,,,:/home/rosetta:/bin/bash
groupID
userID
username
16/02/2007
shell
home directory
commento
install.linux@home
Marco Marchisotti
9
Caratteristiche degli utenti – Gestione utenti
Con Ubuntu molto più semplice utilizzare lo strumento grafico:
16/02/2007
install.linux@home
Marco Marchisotti
10
Caratteristiche degli utenti – Gestione utenti
Nell'installazione di default, l'account root è disabilitato.
Invece l'account che viene creato nel processo di installazione
è usato con il comando sudo per accedere alle facility di
amministrazione. Il comando sudo è usato per acquisire
temporaneamente i privilegi di root quando questi sono
necessari.
Per riabilitare l'account root si deve eseguire il comando:
sudo passwd root
Verrà chiesto di inserire la password dello user creato nel
processo di installazione. Poi di inserire una nuova password
quindi di verificare la nuova password.
Per disabilitare nuovamente l'account root:
sudo passwd – l root
16/02/2007
install.linux@home
Marco Marchisotti
11
I permessi
Il sistema deve garantire la sicurezza da accessi indesiderati
ai dati.
Ogni utente deve poter decidere quali operazioni possono
compiere altri utenti sui propri file.
Nei sistemi Linux/Unix vi sono tre tipi di permessi:
Lettura (r)
Scrittura (s)
Esecuzione (x)
16/02/2007
install.linux@home
Marco Marchisotti
12
I permessi
Sui file normali:
Lettura: permette di leggerne il contenuto;
Scrittura: permette di modificarne il contenuto (anche di
cancellare);
Esecuzione: permette di eseguirlo.
Per le directory:
Lettura: permette di conoscere l'elenco dei file in esse
contenuti:
Scrittura: permette di creare, eliminare e rinominare dei
file;
Esecuzione: permette di accedere ad una directory e di avere
una lista dettagliata di una directory (ma deve anche esserci
il permesso di lettura).
16/02/2007
install.linux@home
Marco Marchisotti
13
I permessi
rwx-rwx-rwx
owner-group-others
Ogni file ha i seguenti 3 tipi di permessi:
Owner: sono i permessi che ha il proprietario del file;
Group: i permessi che hanno gli utenti che appartengono al
gruppo del proprietario del file;
Others: i permessi che hanno tutti gli altri utenti.
16/02/2007
install.linux@home
Marco Marchisotti
14
I permessi
Esempio:
Il file documento.txt è di proprietà dell'utente mario del
gruppo studenti.
Il file documento.txt ha i seguenti permessi: rwxr-xr-Ho tre utenti che vogliono accedere al file:
mario, il possessore,
camilla, altro utente facente parte del gruppo studenti,
rosetta, altro utente non appartenente al gruppo studenti
Il significato dei permessi è il seguente:
mario può leggere, scrivere/modificare ed eseguire il file,
camilla può leggere ed eseguire ma non scrivere il file,
rosetta può solo leggere il file.
16/02/2007
install.linux@home
Marco Marchisotti
15
I permessi
Con il comando chmod posso modificare i permessi ai file ed
alle directory. Sintassi:
chmod tipoutente opzione permesso pathname
tipoutente: u per user, g per group, o per others, a per all
opzione: + per aggiungere, - per togliere, = per sostituire
permesso: r per read, w per write, x per execute
Esempio:
chmod u=rx *.prg
chmod +r archivio
In notazione ottale:
rwx rw- r-x corrisponde a 111 110 101 quindi 765
r-x r-- r-- corrisponde a 101 100 100 quindi a 544
Esempio: chmod 777 cosa significa?
16/02/2007
install.linux@home
Marco Marchisotti
16
Il filesystem
In Unix il filesystem rappresenta l'intera memoria di massa a
disposizione
I file vengono organizzati in modo gerarchico, quindi
rappresentazione ad albero
/
usr
bin
firefox
16/02/2007
home
lib
pine
etc
mario
camilla
prova.c
foto.jpg
install.linux@home
Marco Marchisotti
fstab
17
Il filesystem
È la cartella radice del
filesystem ed è detta root
/
home
mario
etc
Per working o current directory
si intende la directory su cui si
sta lavorando.
camilla
Per parent directory si intende
la directory superiore alla
working directory
16/02/2007
install.linux@home
Marco Marchisotti
18
Il filesystem
/
home
mario
16/02/2007
. (punto) indica la current directory
.. (punto punto) indica la parent directory
etc
camilla
Se mario fosse la current
directory allora
. riferirebbe /home/mario
.. riferirebbe /home
install.linux@home
Marco Marchisotti
19
Il filesystem
/
home
mario
16/02/2007
etc
camilla
fstab
Percorso:
assoluto: specifico il path
partendo dalla radice
relativo: specifico il path
partendo dalla working directory
Se mario fosse la current
directory e volessi riferire il file
fstab allora
/etc/fstab (assoluto)
../../etc/fstab (relativo)
install.linux@home
Marco Marchisotti
20
Il filesystem
/bin
applicazioni
/boot file di configurazione utilizzati durante il boot, kernel
/dev file dei device (dispositivi) in Unix tutte le periferiche
vengono considerate come file contenuti in questa
directory
/etc file di configurazione del sistema
/home directory home (personali) degli utenti del sistema
/lib
librerie di sistema
/media dispositivi rimovibili (media) montati: CD, fotocamere ...
/mnt mount point dei dischi rimovibili, filesystem montati
/proc directory speciale e dinamica dove vengono mantente le
informazioni riguardanti lo stato del sistema, inclusi i
processi attualmente in esecuzione
16/02/2007
install.linux@home
Marco Marchisotti
21
Il filesystem
/root
/sbin
/sys
/tmp
/usr
/var
home directory dell'utente root
programmi binari di sistema
file di sistema
file temporanei
unix system resources, file e applicazioni che sono
disponibili a tutti gli utenti
file variabili come log, cache e database
16/02/2007
install.linux@home
Marco Marchisotti
22
Il filesystem
Ci sono vari tipi di filesystems:
ext2, second extended filesystem
ext3, come ext2 + journaling
reiserfs, filesystem dotato di journaling, ha struttura
particolare
iso9660, filesystem standard per i CD-ROM
msdos, filesystem FAT dei sistemi operativi MS-DOS
vfat, come il precedente ma supporta i nomi lunghi
nfs, network file system
ma ve ne sono anche altri...
Journaling significa che l'integrità dei dati è garantita in modo
più efficiente utilizzando anche un diario (journal)
16/02/2007
install.linux@home
Marco Marchisotti
23
Processo di mounting
Con il termine mounting si intende il “montaggio” di una nuova
porzione di filesystem (un disco o partizione di disco)
Quando inserisco un CD per poter accedere ai suoi file devo
prima effettuare il montaggio del CD
Root filesystem
mount point
Root filesystem
mount
Nuovo filesystem
16/02/2007
install.linux@home
Marco Marchisotti
24
Processo di mounting
Ogni operazione di mount estende la struttura ad albero del
filesystem radice, collegando la radice del nuovo filesystem ad
una directory terminale (foglia) del root filesystem
Il montaggio di un disco si effettua con il comando mount la cui
sintassi è:
mount disco puntodimontaggio
Esempio CD: mount /dev/hdc /mnt/cdrom
Esempio floppy: mount /dev/fd0 /mnt/floppy
Le informazioni sui mount points vengono mantenute all'interno
del file /etc/fstab
I mount effettivamente attivi vengono mantenuti all'interno
del file /etc/mtab
Per formattare un floppy: fdformat /dev/fd0
16/02/2007
install.linux@home
Marco Marchisotti
25
Riepilogo di alcuni comandi
ls [opzioni] [directory]
elenca i file contenuti in directory
Se directory non viene specificata elenca la directory
corrente
Con l'opzione -l vengono visualizzati i dettagli dei file
Con l'opzione -a vengono visualizzati tutti i file
cd directory
Cambia la directory corrente in directory
cat file
Visualizza il contenuto di file
more file
Come cat ma in più permette di scorrere a pagine l'output
16/02/2007
install.linux@home
Marco Marchisotti
26
Riepilogo di alcuni comandi
pwd
Stampa la directory corrente
cp orig dest
Copia il contenuto del file orig sul file dest, funziona solo sui
file
cp -R orig dest
Copia ricorsivamente il contenuto di orig in dest, funziona
sulle directory
rm file
Cancella file, attenzione in Unix non esiste il cestino!
rm -R directory
Cancella una directory e tutto il suo contenuto, quindi mai
fare rm -R /*.*, cancellate l'intero filesystem!
16/02/2007
install.linux@home
Marco Marchisotti
27