Elenet.net
0 voti
Gestione dei permessi per utente e, a cosa servono ecc... ecc..
Ce, una breve spiegazione di quello che fanno una volta digitati!
quesito posto 22 Maggio 2013 in Tecnologie e Prog. di Sistemi Informatici e Tlc da Gioacchino Morici Corsista (71 punti)
  

2 Risposte

0 voti
I COMANDI DELLA SHELL DI LINUX
All'avvio della shell di Linux appare, nella finestra, il prompt dei comandi. Il prompt dei comandi
è una funzionalità di Linux che rappresenta il punto di ingresso per la digitazione dei comandi
Linux e di altri comandi per il computer. La digitazione dei comandi consente di eseguire attività
nel computer senza utilizzare l'interfaccia grafica.
Il prompt di default di un normale utente è il simbolo del dollaro:
$
Il prompt di default per l'utente di root (amministratore del sistema) è il simbolo cancelletto:
#
In molti sistemi Linux, di default, i simbolo del prompt è preceduto da alcune informazioni come in
questo esempio:
[mrossi@localhost ~]$
mrossi = è il nome dell'utente
localhost = è il nome del sistema
~ = è la directory corrente, detta anche di lavoro ( in questo esempio la directory è la “home
directory”, o directory personale, dell'utente e viene indicata con il simbolo tilde = ~)
Percorsi relativi e assoluti
I percorsi relativi iniziano con: il nome di una directory; con i simboli “./”.
Esempi:
Scrivania/Sport
./Documenti
I percorsi assoluti iniziano con: il simbolo “/”; i simboli “//”; i simboli “~/”.
Esempi:
/home/mrossi
//usr
~/Documenti
OPPURE
OPPURE
OPPURE
OPPURE
/
(root)
home
usr
~
(home personale)
Documenti
Scrivania
pwd
pwd (print working directory = “stampa la directory corrente”) visualizza il percorso assoluto della
directory corrente (directory di lavoro).
uso
pwd
esempio
[mrossi@lo → calhost Documenti]$ pwd  (invio)
→ /home/mrossi/Documenti
→ [mrossi@localhost Documenti]$
→ [mrossi@localhost ~]$ pwd  (invio)
→ /home/mrossi/ ← NOTA: nella visualizzazione completa del percorso non appare la tilde, “~” , come ultimo
→ [mrossi@localhost ~]$ simbolo perché viene automaticamente sostituita dal nome della “home directory”
dell'attuale utente, in questo caso “mrossi”.
ls
ls (list segments = “elenca segmenti”)
visualizza il contenuto della directory indicata dal percorso. Se non viene indicato nessun percorso
verrà visualizzato il contenuto della directory corrente (directory di lavoro).
uso
ls [opzioni] [percorso]
opzioni
-l visualizza una lunga e dettagliata lista di informazioni per ogni file o/e directory.
-a visualizza anche i file o/e le directory nascoste.
(le varie opzioni possono essere combinate insieme, senza un preciso ordine, come ad esempio: -al oppure -la)
percorso
Inserendo un percorso permette di vedere il contenuto di una directory diversa da quella corrente, senza spostarsi.
esempio
→ [mrossi@localhost ~]$ ls  (invio)
→ Documenti Immagini Musica prova.txt Scaricati
→ [mrossi@localhost ~]$
→ [mrossi@localhost ~]$ ls -l  (invio)
→ drwxrwxr-x. 1 mrossi mrossi 4096 14 sett 19:50 Documenti
→ drwxrwxr-x. 1 mrossi mrossi 4096 29 nov 00:50 Immagini
→ drwxrwxr-x. 2 mrossi mrossi 4096 14 sett 19:50 Musica
→ -rwxrwxr-x. 1 mrossi mrossi 4096 15 dic 01:32 prova.txt
→ drwxrwxr-x. 2 mrossi mrossi 4096 14 sett 19:50 Scaricati
→ [mrossi@localhost ~]$
→ [mrossi@localhost ~]$ ls Scrivania  (invio)
→ Cartella prova1.txt prova2.txt
→ [mrossi@localhost ~]$ ← NOTA: dopo l'esecuzione del comando, la directory di lavoro è rimasta invariata, lo si può
vedere dalle informazioni visualizzate prima del prompt. Nell'esempio non ci si è spostati
dalla “home directory”, indicata con il simbolo tilde (~) .
INFORMAZIONI VISUALIZZATE CON IL COMANDO ls -l
drwxrwxr-x. 2 mrossi mrossi 4096 14 sett 19:50 Scaricati

Col 1 Col 2 Col 3 Col 4 Col 5 Col 6 Col 7
Col 1 - permessi
d rwx rwx r-x
1 2 3 4
1. Indica il tipo di oggetto.
d = directory
- = file
l = link
b = block o char device ...ecc
2. permessi per l'utente
3. permessi per il gruppo dell'utente r = lettura / w = scrittura / x = esecuzione / - = permesso negato
4. permessi per tutti gli utenti
Col 2 - numero di link all'oggetto
Col 3 - la directory o il proprietario del file
Col 4 - gruppo appartenuto dall'utente
Col 5 - la dimensione di ogni file in byte
Col 6 - data e ora di ultima modifica del file
Col 7 - il nome del file o della directory
cd
cd (change directory = “cambia directory”)
cambia la directory corrente (directory di lavoro).
uso
cd [percorso]
risposta inviata 25 Maggio 2013 da Laura Guccione Corsista (149 punti)
esempio (per tutti gli esempi riportati fai riferimento all'immagine del filesystem in prima pagina)
[mrossi@lo → calhost Documenti]$ cd  (invio) ← NOTA: se non viene indicato nessun percorso, normalmente
→ [mrossi@localhost ~]$ va nella“home directory” dell'utente. Equivale al comando “cd ~” .
→ [mrossi@localhost Documenti]$ cd ~  (invio) ← NOTA: il simbolo tilde (~), dopo il comando, indica che la
→ [mrossi@localhost ~]$ nuova directory di lavoro è la “home directory” dell'utente.
→ [mrossi@localhost Documenti]$ cd /  (invio) ← NOTA: il simbolo slash (/), dopo il comando, indica che la
→ [mrossi@localhost /]$ nuova directory di lavoro è la directory di root o radice.
→ [mrossi@localhost Documenti]$ cd ..  (invio) ← NOTA: il simboli punto punto (..), dopo il comando, indica che la
→ [mrossi@localhost ~]$ nuova directory di lavoro è la directory madre della directory
corrente. In questo esempio la directory madre della directory
“Documenti” è la “home directory” dell'utente.
→ [mrossi@localhost Documenti]$ cd /usr  (invio)
→ [mrossi@localhost usr]$
→ [mrossi@localhost usr]$ cd ~/Scrivania  (invio)
→ [mrossi@localhost Scrivania]$
mkdir
mkdir (make directory = “crea directory”)
crea una nuova directory all'interno della directory indicata dal percorso. Se non viene indicato
nessun percorso verrà creata nella directory corrente (directory di lavoro).
uso
mkdir [percorso/][nome nuova directory]
esempio
[mrossi@localhost → ~]$ mkdir Lavoro  (invio) ← NOTA: crea una directory di nome “Lavoro” all'interno della
→ [mrossi@localhost ~]$ directory corrente, la “home directory” dell'utente, indicata
con la tilde (~).
→ [mrossi@localhost ~]$ mkdir Scrivania/Sport  (invio) ← NOTA: crea una directory di nome “Sport” all'interno
→ [mrossi@localhost ~]$ della directory indicata dal percorso, in questo
caso “Scrivania”.
→ [mrossi@localhost /]$ mkdir ~/Scrivania/Sport/Calcio  (invio) ← NOTA: crea una directory di nome “Calcio”
→ [mrossi@localhost /]$ all'interno della directory indicata dal
percorso, in questo caso “Sport”.
rmdir
rmdir (remove directory = “rimuovi directory”)
rimuove la directory indicata dal percorso. Se non viene indicato nessun percorso verrà cercata e
consecutivamente cancellata nella directory corrente (directory di lavoro).
uso
rmdir [percorso/][nome directory da rimuovere]
esempio
→ [mrossi@localhost ~]$ rmdir Lavoro  (invio) ← NOTA: rimuove la directory di nome “Lavoro” presente all'interno
→ [mrossi@localhost ~]$ della directory corrente, la “home directory” dell'utente, indicata
con la tilde (~).
→ [mrossi@localhost /]$ rmdir ~/Scrivania/Sport/Calcio  (invio) ← NOTA: rimuove la directory di nome “Calcio”
→ [mrossi@localhost /]$ che si trova nella directory indicata dal
percorso, in questo caso “Sport”.
touch
touch ()
crea un file vuoto. Se non viene indicato nessun percorso il file verrà creato nella directory corrente
(directory di lavoro).
uso
touch [percorso/][nome file]
esempio
[mrossi@localhost → ~]$ touch ordini.txt  (invio) ← NOTA: crea un file di nome “ordini.txt” all'interno della
→ [mrossi@localhost ~]$ directory corrente, la “home directory” dell'utente, indicata
con la tilde (~).
→ [mrossi@localhost ~]$ touch Scrivania/elenco.txt  (invio) ← NOTA: crea un file di nome “elenco.txt” all'interno
→ [mrossi@localhost ~]$ della directory indicata dal percorso, in questo
caso “Scrivania”.
→ [mrossi@localhost /]$ touch ~/Documenti/spese.txt  (invio) ← NOTA: crea un file di nome “spese.txt”
→ [mrossi@localhost /]$ all'interno della directory indicata dal percorso,
in questo caso “Documenti”.
rm
rm (remove = “rimuovi”)
rimuove file o directory (con l'opzione -r) indicata dal percorso. Se non viene indicato nessun
percorso verrà cercata e consecutivamente cancellata nella directory corrente (directory di lavoro).
uso
rm [opzioni] [percorso/][nome file o directory da rimuovere]
opzioni
-r elimina in modo ricorsivo tutti i file e/o le directory presenti all'interno della directory da cancellare.
esempio
→ [mrossi@localhost ~]$ rm ordini.txt  (invio) ← NOTA: rimuove il file di nome “ordini.txt” presente all'interno della
→ [mrossi@localhost ~]$ directory corrente, la “home directory” dell'utente, indicata con
la tilde (~).
→ [mrossi@localhost /]$ rm ~/Documenti/spese.txt  (invio) ← NOTA: rimuove il file di nome “spese.txt” che si
→ [mrossi@localhost /]$ trova nella directory indicata dal percorso, in
questo caso “Documenti”.
→ [mrossi@localhost /]$ rm -r ~/Scrivania/Sport (invio) ← NOTA: rimuove la directory “Sport” e con essa la
→ [mrossi@localhost /]$ directory “Calcio” presente al suo interno, grazie
all'opzione “-r”, che si trova nella directory
indicata dal percorso, in questo caso “Scrivania”.
mv
mv (move = “sposta”)
sposta o rinomina un file o una directory.
uso
mv [percorso/][nome file o directory da spostare o da rinominare] [percorso di destinazione/][nuovo nome]
esempio
→ [mrossi@localhost ~]$ mv ordini.txt Scrivania (invio) ← NOTA: sposta il file di nome “ordini.txt” , presente
→ [mrossi@localhost ~]$ nella directory corrente, nella directory “Scrivania”.
→ [mrossi@localhost Documenti]$ mv ~/Scrivania/ordini.txt  (invio) ← NOTA: sposta il file di nome “ordini.txt”,
→ [mrossi@localhost Documenti]$ presente nella directory “Scrivania”, nella
directory “Documenti”.
[mrossi@localhost Scrivania]$ → mv spese.txt spese_ferie.txt (invio) ← NOTA: rinomina il file “spese.txt” con
→ [mrossi@localhost Scrivania]$ il nuovo nome: “spese_ferie.txt”.
→ [mrossi@localhost /]$ mv ~/Scrivania/ordini.txt ~/Documenti/lista.txt  (invio) ← NOTA: sposta il file
→ [mrossi@localhost /]$ “ordini.txt” dalla directory “Scrivania” alla directory “Documenti”
e contemporaneamente lo rinomina in “lista.txt”.
→ [mrossi@localhost /]$ mv ~/Scrivania/Sport/Calcio ~/Scrivania/Sport/Calcetto (invio) ← NOTA: rinomina
→ [mrossi@localhost /]$ la directory “Calcio” con il nuovo nome “Calcetto”.
→ [mrossi@localhost Sport]$ mv Calcetto ~/Documenti  (invio) ← NOTA: sposta la directory “Calcetto” nella
→ [mrossi@localhost Sport]$ directory “Documenti” .
cp
cp (copy = “copia”)
effettua la copia di un file o una directory. E' possibile assegnare alla copia un nuovo nome. Se non
vengono specificati dei percorsi, sia quello dell'oggetto da copiare che quello di destinazione, o se i
percorsi sono uguali, la copia verrà creata nella stessa directory e, in questo caso, è necessario
assegnare alla copia un nuovo nome.
uso
cp [percorso/][nome file o directory da spostare o da rinominare] [percorso di destinazione/][nuovo nome]
esempio
→ [mrossi@localhost ~]$ cp ordini.txt Scrivania  (invio) ← NOTA: fa una copia del file di nome “ordini.txt” ,
→ [mrossi@localhost ~]$ presente nella directory corrente, nella directory
“Scrivania”.
→ [mrossi@localhost Documenti]$ cp ~/Scrivania/ordini.txt  (invio) ← NOTA: fa una copia del file di nome
→ [mrossi@localhost Documenti]$ “ordini.txt”, presente nella directory
“Scrivania”, nella directory “Documenti”.
→ [mrossi@localhost Scrivania]$ cp spese.txt spese_ferie.txt (invio) ← NOTA: fa una copia del file “spese.txt”
→ [mrossi@localhost Scrivania]$ nella medesima directory di lavoro
assegnando ad essa un nuovo nome:
“spese_ferie.txt”.
→ [mrossi@localhost /]$ cp ~/Scrivania/ordini.txt ~/Documenti/lista.txt  (invio) ← NOTA: fa una copia del
→ [mrossi@localhost /]$ file “ordini.txt” nella directory “Scrivania” , nella directory
“Documenti” assegnandogli un nuovo nome: “lista.txt”.
→ [mrossi@localhost /]$ cp ~/Scrivania/Sport/Calcio ~/Scrivania/Sport/Calcetto  (invio) ← NOTA: fa una
→ [mrossi@localhost /]$ copia della directory “Calcio” nella medesima directory di
lavoro assegnandogli un nuovo nome: “Calcetto”.
→ [mrossi@localhost Sport]$ cp Calcetto ~/Documenti  (invio) ← NOTA: fa una copia della directory “Calcetto”
→ [mrossi@localhost Sport]$ nella directory “Documenti” .
0 voti

I comandi della shell Linux (che non è altro che un EMULATORE di terminale) sono un insieme di software, molti appartenenti alla Suite GNU di Richard Stallman, altri invece fanno parte di progetti completamente indipendenti e di altro genere.

I comandi della shell sono tutti interamente testuali, solo alcuni possono avere qualche interfaccia (al massimo [n]curses). Ci sono diversi tipi di shell:

  • Sh (la più portatile, completa, cui le successive ereditano).
  • Bash (la standard Linux).
  • Csh (con una sintassi simile al C).
  • Ksh (Korn shell).
  • Zsh (nuova, molto potente e veloce).

Ma ce ne sono tante altre...

Le shell più complete, moderne, ed avanzate si presentano in questo modo.

[nomeutente@dominiolocale dir_in_cui_ci_si_trova ] $

Il dollaro sta ad indicare che si è un normale utente e non un superutente, o root(espresso con il cancelletto o sharp : #)(nei sistemi Debian e Debian-Based viene anche chiamato utente con i poteri della supermucca).

Il "comando" viene scritto, e può essere completato con alcune opzioni(quasi tutti seguono lo standard POSIX).

Per conoscere meglio un determinato programma basta leggere il suo manuale, ad esempio:

man ls

Quest'ultimo stamperà a video un testo  formattato contenente tutte le informazioni su quel comando, la sintassi, la descrizione, quello che fa, le opzioni, i valori ecc...

risposta inviata 27 Maggio 2013 da Antonio Tarantino Corsista (68 punti)
Per la gestione dei permessi dell'utente vengono utilizzati principalmente 2 comandi:

-chown
-chmod

Il primo cambia il proprietario del file ed il gruppo.
Il secondo cambia i permessi di un file o di una directory. Il comando presenta le seguente sintassi:

$ chmod +/- rwx nomefile -> Il simbolo "+" per aggiungere i permessi o il permesso.
$ chmod XXX nomefile -> XXX nel caso tu voglia farlo in ottale.

Ti ricordo che non puoi modificare alcuni files come utente normale, per modificare TUTTO devi essere root, e quindi è anche molto facile fare danno o indebolire il sistema da un punto di vista di sicurezza. Come al solito, per vedere bene il funzionamento di un comando leggi il suo manuale: man nomecomando.
778 domande
1,565 risposte
639 commenti
1,445 utenti