Estratto del documento

SUPERUTENTE

protezione 

Alcune distribuzioni di Linux non consentono l’accesso diretto con lo username

root, ma usano il comando sudo (SUPERUSER DO) per poter far eseguire ad

alcuni utenti privilegiati, detti sudoers, i comandi come superutente.

SHELL ( PROCESSORE COMANDI)

Superata la fase di autenticazione, l’utente può iniziare una sessione di lavoro

tramite l’uso di una shell.

Una shell è un processore comandi che:

1. accetta un comando richiesto dall’utente

2. Lo interpreta

3. Risolve le sostituzioni, realizza ridirezioni, ricerca il comando e lo esegue

I comandi sono: prompt

- inseriti da un terminale (al dei comandi) e quindi la shell legge la linea

appena l’utente ha premuto il tasto INVIO/RETURN ( detto CR ovvero Carriage

Return )

- oppure sono prelevati da una linea di un file ( file comandi o script )

La shell esegue le fasi 1-2-3 in un ciclo che ha termine solo all’esecuzione del

comando exit o alla fine del file comandi.

La shell presenta una importante particolarità creazione di un processo

(sotto-shell), a meno che di eventuali eccezioni

ECCEZIONI :Alcuni comandi vengono eseguiti direttamente dalla shell sono i

comandi interni (detti anche built-in) exit per terminare

cd dir per cambiare directory

Fase 3)

Se l’interpretazione ha individuato che il comando da eseguire NON è un

comando interno, allora la shell crea un nuovo processo shell figlio , e di

conseguenza il processo shell di partenza lo chiamiamo shell padre

Il processo shell padre verifica la presenza del metacarattere & prima del

<CR>.

Senza &, attende la fine dell’esecuzione del sottoshell figlio esecuzione in

foreground (sincrona).

N.B. Per abortire l’esecuzione di un comando, usare la combinazione di tasti

CTRL+C.

Se presente il metacarattere &, NON attende la fine dell’esecuzione del

sottoshell figlio, ma

prosegue esecuzione in background (asincrona).

N.B. Per abortire l’esecuzione di un comando, in questo caso si deve usare il

comando kill.

FORMATO COMANDI

Il nome dei comandi è case sensitive e, in generale, il formato è:

comando [-opzioni] [argomenti] <CR>

Possiamo anche inserire più comandi nella stessa linea, ma devono essere

separate dal metacarattere ; (punto e virgola)

Esistono diverse shell che gli utenti possono utilizzare:

Bourne Shell (SH), Bourne Again Shell (BASH), C shell, Korn shell,

Almquist Shell (ASH), Debian Almquist Shell (DASH).

Le diverse shell si differenziano per aspetti visibili e altri non visibili all’utente

sintassi

principalmente per la dei comandi.

Il sistemista assegna ad ogni utente una delle shell disponibili, ma per

cambiarla basta invocare un normale comando:

$ sh da qua in poi si usa la shell corrispondente a sh nel sistema

$ bash da qua in poi si usa la bash

$ ps quanti processi si vedono

Per vedere cosa fa esattamente un comando e quali opzioni prevede si può

usare il comando man comando (manual) help del comando.

ORGANIZZAZIONE DEL FILE SYSTEM

file/directory

NOMI di

-ASSOLUTI : dalla radice

es. file: /nome2/nome6/file

-RELATIVO : dalla directory corrente

es. dir.corrente: /nome2 file: nome6/file

-RELATIVI SEMPLICI: dalla directory corrente

es. dir.corrente: /nome2/nome6 file: file

I nomi sono case-sensitive e possono essere lunghi a piacere (max 255

caratteri)

Directory corrente identificata da .

Directory padre identificata da ..

Ogni utente ha una directory di partenza nel quale si trova all’ingresso nel

sistema home directory

Esistono anche le WILDCARD che sono dei METACARATTERI speciali che sono

delle abbreviazioni dei nomi dei file:

* fa match con qualunque stringa, anche vuota

? fa match con qualunque carattere, ma almeno uno

ES.

$ echo file* file, file1, file2, file3, filetemp

$ echo file? file1, file2, file3

$ echo *ile cile, file

N.B. il comando echo stampa le stringhe corrispondenti ai nomi dei file sullo

standard output.

COMANDO ls

Il comando ls (list) mostra le informazioni relative a file o directory

Se ls è invocato senza parametri, mostra le informazioni sui file e sulle

directory della directory corrente, se invece è invocato con nomi dei file mostra

le informazioni di quei file, se è invocato con nomi di directory, mostra le

informazioni sui file e sulle directory delle directory specificate.

Tipici comandi con ls:

-l lista, oltre al nome, tutte le informazioni associate ai file

 -a lista anche i nomi dei file “nascosti”, ovvero che iniziano con ‘.’

 -A come -a, ma esclude ‘.’ e ‘..’

 -F lista i nomi dei file visualizzando i file eseguibili con *, le directory

 con /

-d nomedir lista le informazioni associate alla directory nomedir

 file,

come senza

listarne il contenuto

-R lista ricorsiva dei file contenuti nella gerarchia

 -i lista gli i-number dei file oltre al loro nome

 -r lista i file in ordine opposto al normale ordine alfabetico

 -t lista i nomi dei file in ordine di ultima modifica, dai più recenti ai

 meno recenti

N.B. Si possono combinare le opzioni assieme

PROTEZIONE ACCESSI

In un Sistema Operativo multi-utente, vi è la necessità di regolare gli

alle informazioni.

Esistono 3 tipi di utilizzatori:

- il proprietario user

- il gruppo del proprietario group

- gli altri utenti others

I modi di accesso ad un file sono lettura (r), scrittura (w) ed esecuzione (x).

Durante la fase di LOGIN, ogni utente viene identificato dal sistema con un

identificatore gruppo

(user ID) e un (group ID)

Inoltre, a ogni file viene associato:

- user ID del proprietario

- group ID del proprietario

- un insieme di 9 bit di protezione

Questi 9 bit di protezione rappresentano i diritti di accesso, o permessi, che

indicano se la specifica operazione (lettura r, scrittura w ed esecuzione x)

è consentita oppure no.

N.B. Esiste però un utente privilegiato, cioè il gestore del sistema 

SUPERUTENTE

Significato dei diritti rwx:

- Senza r NON si può visualizzare il contenuto della directory, ma si possono

cancellare file e crearli

- Senza w NON si possono cancellare file né crearli

- Senza x NON si può fare cd, e nemmeno creare file

Per visualizzare i permessi associati a u file si usa il comando ls -l nomefile ;

Per visualizzare i permessi associati a una directory si usa il comando ls -ld

nomedir ;

COMANDI RELATIVI ALLA PROTEZIONE

chmod [ u g o a ] [+ -] [rwx] nomefile

I permessi possono essere concessi o negati SOLO dal proprietario del file.

ESEMPIO :

chmod u+rwx, g+rx, o+rx /home/dir/file

chmod 0755 /home/dir/file

N.B. i comandi

chown nomeutente nomefile

che cambia il proprietario di un file/directory

chgrp nomegruppo nomefile

che cambia il gruppo di un file/directory

possono essere usati solo dal SUPERUTENTE.

ALTRI COMANDI RELATIVI AL FILE SYSTEM

DIRECTORY

mkdir nomedir crea una directory

rmdir nomedir cancella una directory ( deve essere VUOTA)

cd nomedir modifica la directory corrente

pwd scrive su standard output la directory corrente

ls [nomedir/nomefile] elenco file/directory

FILE

cp filesorg dest copia il filesorg nel file di nome dest, se dest è una

directory copia il file con nome filesorg in quella directory

ln [-s] nomefile1 nome2 crea un link

mv nomefile1 nome2 sposta/rinomina

rm nomefile elimina il link nomefile andando a

decrementare il numero di link nell’ i-node; se il numero di link è uguale a 0

allora cancella il file

cat nomefile il contenuto dei file indicati viene riportato sullo

standard output

more nomefile paginazione dell’output

more nomefile1 nomefile2… sopra ma per più file

come

RIDIREZIONE DELL’ I/O

Alcuni comandi di UNIX sono comandi-filtro, mentre altri comandi sono filtri

parziali.

Un filtro è un programma che riceve in ingresso dati dallo standard input e

produce risultati in uscita sullo standard output ed eventuali errori nello

standard error

standard input tastiera del terminale

standard output video del terminale

standard error video del terminale

Comandi-filtri tipici sono (di tutti esiste anche la versione normale) :

cat versione filtro del comando cat

more al cat, ma con paginazione dell’output

simile

sort ordina le linee dello standard input

(comandi integrativi)

-r ordina le linee al contrario

-f ignora lettere maiuscole e minuscole

-c, -C check delle linee in disordine (-c si ferma al primo errore, -C non fa

vedere nulla

a video, si deve usare il comando echo $?)

-u mette in ordine, ma solo le righe uniche (elimina le doppie)

(general regular

grep stringa cerca la stringa nello standard input

expression print) aggiungere ^ se si vogliono le righe che hanno la stringa

all’inizio aggiungere \.$ se si vogliono le righe che finiscono con il

punto -n indica la riga in cui si è trovata la corrispondenza

-i ignora le lettere maiuscole e minuscole

-v invert, ovvero trova le linee dove non è presente la stringa

rev rovescia le linee dello standard input

wc conta linee, parole e caratteri (in ordine) dello standard input

-l solo numero linee

-w solo numero parole

-c solo numero caratteri

head [-numerolinee]

tail [-numerolinee] filtrano le prime/ultime 10 linee dello standard input

(se esistono)

OMOGENEITA’ dispositivi e file

Per ciascuno dei comandi-filtro lo standard input, standard output e standard

error può essere ridiretto.

Ridirezione dello standard input

comando-filtro < fileinput

Ridirezione dello standard output (la seconda in append)

comando-filtro > fileoutput

comando-filtro >> cileoutput

RIDIREZIONE STANDARD ERROR

Se voglio ridirigere lo stderror bisogna utilizzare il comando 2

ls c* q* 2> file-error

es. ridirigo lo stderror nel file file-error

Se voglio ridirigere sia lo stderror che lo stdoutput utilizzo il comando 2>&1

ls c* q* >file-totale 2>&1

es. ridirigo entrambi gli standard

PIPING DI COMANDI

In una shell, una PIPE (metacarattere | ) collega automaticamente lo standard

output di un comando con lo standard input del comando successivo.

comando 1 | comando 2

Una stessa linea può contenere più metacaratteri |

comando 1 | comando 2 | comando 3 | comando 4

Anteprima
Vedrai una selezione di 6 pagine su 21
Appunti Sistema operativo UNIX Pag. 1 Appunti Sistema operativo UNIX Pag. 2
Anteprima di 6 pagg. su 21.
Scarica il documento per vederlo tutto.
Appunti Sistema operativo UNIX Pag. 6
Anteprima di 6 pagg. su 21.
Scarica il documento per vederlo tutto.
Appunti Sistema operativo UNIX Pag. 11
Anteprima di 6 pagg. su 21.
Scarica il documento per vederlo tutto.
Appunti Sistema operativo UNIX Pag. 16
Anteprima di 6 pagg. su 21.
Scarica il documento per vederlo tutto.
Appunti Sistema operativo UNIX Pag. 21
1 su 21
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher gabrielesortino50 di informazioni apprese con la frequenza delle lezioni di Sistemi operativi e laboratorio e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Modena e Reggio Emilia o del prof Leonardi Letizia.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community