Identificazione del tipo di file
quando eseguiamo un #ls -l il primo carattere mostrato identifica il tipo si file
b – block device (es hard disk)
c – character device (file che interpreta caratteri)
p – pipe device (mezzo di interscambio di informazione)
d – directory
l – link
– regular file (contiene informazioni)
poi abbiamo i nove caratteri che identificano i permessi
poi abbiamo le informazioni deguenti:
dimensione
proprietario
gruppo
major cioè definisce il tipo di device es. (3 definisce le console)
minor è il sottogruppo del tipo definito dal major ed è anche incrementale es.(0 indica la tty0)
Permessi sui file:
USR GRUP OTHR
1 234 567 8910 – CHI HA CREATO IL FILE – GRUPPO DI RIFERIMENTO
r r r diritto di lettura
w w w diritti di scrittura
x x x diritto di esecuzione
Proviamo a creare un file
touch stefano
appena creato di default ha i permessi 644
andiamo a vederne i permessi
ls -l
CAMBIAMO I PERMESSI DEI FILE
chmod
vediamo i valori:
4 Read
2 Write
1 Execute
esempio:
UTENTE vogliamo dare W e R = 2 + 4 = 6
GRUPPO vogliamo dare R e X = 4 + 1 = 5
OTHER vogliamo dare nulla = 0
quindi cambiamo i permessi in
chmod 650 nomefile
Altro modo possiamo cambiare i permessi in questo modo:
U tente
G ruppo
O thers
A ll
quindi possiamo dare il seguente comando
per aggiungere EXECUTE per l’utente:
chmod u+x nomefile
per dare permessi a tutti di tutto
chmod a+wrx nomefile
in altro modo
chmod +x nomefile
Come cambiare il proprietario del file
‘chown’ ‘nuovo proprietario’ ‘nomefile’
chown utente nomefile
Per cambiare il Gruppo:
chgrp
Con chmod come faccio a dare i permessi diversi a cartelle e files? Per esempio ho la cartella www con dentro tutto il sito web, dovrei mettere i permessi a 775.
find /cartella/di/partenza -type d -exec chmod 775 {} \; find /cartella/di/partenza -type f -exec chmod 664 {} \;
-find lo usi per cercare i file appunto 😛 se gli passi il -type puoi filtrare solo una tiologia di file ( f per i file semplici d per directory l per i link simbolici e così via ) con il parametro -exec puoi specificare un comando da eseguire con il paratro {}; che indica il risultato della ricerc
Quando la tua ricerca ottiene la corrispondenza esatta, combinala con altri comandi per eseguire azioni specifiche. Puoi combinare il comando find con altri comandi così che, una volta individuato il file in oggetto, vengano compiute azioni specifiche. Per separare il comando find dal secondo comando, utilizza il parametro -exec, quindi termina la stringa con la sequenza di caratteri {} \;.
find ./ -type f -perm 777 -exec chmod 755 {} \;
- Questo comando di esempio esegue una ricerca di tutti i file presenti nella directory corrente (incluse tutte le sottocartelle) che hanno un permesso di accesso 777. Quindi, per ognuno dei file individuati, verrà eseguito il comando chmod per impostare il nuovo codice di accesso in 755.