L'uso di file e directory in Linux è un'attività che lavoriamo quotidianamente su server o computer desktop e qualcosa di importante che dobbiamo sapere è che ciascuno dei file e delle directory nei sistemi operativi Linux ha un proprietario che è il proprietario. persona che ha creato detto oggetto e dispone di autorizzazioni speciali su di essi, questa è una misura di sicurezza che impedisce ad altre persone di modificarli.
Il problema di sicurezza più comune negli ambienti Linux è che essendo un sistema multiutente possiamo creare gli account utente che vogliamo e quelle persone saranno in grado di accedere al sistema e con le conoscenze necessarie potranno accedere ai file di altri utenti del sistema, per evitare ciò, il sistema Linux fa uso della proprietà di un oggetto che è composto da utenti e gruppi che creano e modificano i file, questa proprietà può essere assunta come identificatore utente e identificatore di gruppo (GID).
In alcuni casi specifici potremmo voler cambiare la proprietà di un oggetto e per questo il comando chown è l'ideale poiché ci permette di definire un nuovo proprietario, un nuovo gruppo o entrambi contemporaneamente (un nuovo proprietario e un nuovo gruppo).
NotaSolo il proprietario di un file può modificare la proprietà del gruppo, ma solo l'utente root può modificare la proprietà dell'utente.
Può sembrare un problema non così importante ma in situazioni specifiche sarebbe ideale modificare la proprietà di un file, ad esempio:
- Se vai in vacanza e devi chiedere a un amico di modificare i file per te.
- Se un utente lascia l'azienda è necessario trasferire tale proprietà al nuovo utente.
- Creazione di script che verranno eseguiti da un determinato utente.
- Trasferimento di oggetti e così via.
In Linux abbiamo tre tipi principali di permessi associati ai file che sono:
- Permessi utente: questi permessi vengono applicati a un singolo utente che ha pieno accesso al file, questo è l'utente proprietario.
- Permessi di gruppo: con questi permessi possiamo consentire a un gruppo di utenti di avere accesso al file, questo è chiamato gruppo proprietario.
- Altre autorizzazioni possono essere applicate ad altri utenti del sistema con determinate restrizioni.
Visto in questo modo, quando viene creato un file, il proprietario è l'utente che lo ha creato e il gruppo proprietario è il gruppo corrente dell'utente che ha creato il file.
La sintassi generale per l'utilizzo del comando chown è la seguente:
chown [-c | --changes] [-v | --verbose] [-f | --silent | --quiet] [--dereference] [-h | --no-dereference] [--preserve-root ] [--from = currentowner: currentgroup] [--no-preserve-root] [-R | --recursive] [--preserve-root] [-H] [-L] [-P] {nuovo-proprietario | --reference = file-rif} file…
1. Come visualizzare gruppi, UID e GID in Linux
Passo 1
Partiamo dall'essenziale cioè determinare i gruppi, UID e GID disponibili nel sistema operativo, per elencare i gruppi disponibili basta eseguire quanto segue:
gruppi
Passo 2
Ora, per accedere all'elenco dei gruppi, dei loro ID numerici e dei rispettivi UID e GID, dobbiamo utilizzare il comando id:
andare
Passaggio 3
Alcuni parametri da utilizzare con il comando id sono:
oElenca l'UID.
-GElenca il GID attuale
-gnuElenca il nome utente.
-ngGenerale il nome del gruppo corrente.
2. Come visualizzare il proprietario e i permessi di un file Linux
Se vogliamo visualizzare il proprietario di un file o di una directory, basta usare il parametro -l (lista lunga) con ls:
ls -l (File)
Puoi vedere alcune lettere e numeri che vengono assegnati, questi significano:
Nessun accesso
0 = ---
Esecuzione
1 = --x
Scrivere
2 = -w-
Scrittura ed esecuzione
3 = -wx
Lettura
4 = r--
Lettura ed esecuzione
5 = r-x
Leggendo e scrivendo
6 = rw-
Leggi, scrivi ed esegui
7 = rwx
Nella riga visualizzata, il nome a sinistra si riferisce al proprietario del file e il nome a destra si riferisce al fatto che il file appartiene a un gruppo con il nome visualizzato.
3. Come cambiare il proprietario di un file Linux
Passo 1
Per modificare il proprietario di un file dobbiamo conoscere il nome utente e quindi eseguire la seguente sintassi:
sudo chown "nuovo proprietario" "file"
Passo 2
Se usiamo di nuovo ls -l, controlliamo che il proprietario del file in questione sia stato modificato:
Passaggio 3
Con questo stesso metodo possiamo cambiare il proprietario di più file contemporaneamente:
sudo chown "Nuovo utente" "File" "File1" "File2"Un modo pratico per stabilire nuovi proprietari è l'uso di caratteri jolly che ci consentono di selezionare gruppi di file, ad esempio se vogliamo cambiare il proprietario di tutti i file che iniziano con la lettera "s" eseguiamo:
sudo chown "Nuovo utente" s *. *Passaggio 4
Quindi possiamo controllare i permessi di detto utente eseguendo:
ls -l solvetic1 S *. *
Passaggio 5
Se il nostro obiettivo ora è cambiare la proprietà di una directory, dobbiamo inserire il nome della directory insieme al comando chown come segue:
sudo chown "utente" "./directory/"
Passaggio 6
Per verificare le proprietà a livello del proprietario della directory, combineremo il parametro ls con l'opzione -d (dir) per elencare le proprietà della directory ma non i file in essa ospitati:
ls -l -d ./Solvetico3/
Passaggio 7
Se vogliamo cambiare la proprietà di tutti i file in una directory in Linux, dobbiamo usare l'opzione -R (ricorsiva) che cambierà la proprietà dell'utente assegnato ai file all'interno della directory selezionata:
sudo chown -R solvetic ./Solvetic3/
4. Come cambiare il gruppo proprietario di Linux
Un'altra opzione offerta dal comando chown è cambiare il gruppo di un file o di una directory.
Passo 1
Ad esempio, possiamo cambiare la proprietà del gruppo contemporaneamente all'utente, per questo inseriamo il nuovo nome del proprietario e il nuovo nome del gruppo con i due punti ":" come segue:
sudo chown solvetic: SolveticTest Solvetic.docxPossiamo controllare i permessi eseguendo:
ls -l Solvetic.docx
Passo 2
Un'altra opzione disponibile per definire un nuovo gruppo proprietario è inserire i due punti e omettere il nome del gruppo in questo modo:
sudo chown solvetic: Solvetic.docxCiò garantirà il gruppo predefinito dell'utente corrente:
Passaggio 3
Per modificare solo la proprietà del gruppo ma non l'utente, dobbiamo inserire i due punti e omettere il nome dell'utente:
sudo chown: SolveticTest Solvetic.docx
Modifica il proprietario utilizzando l'UID e il GIDUn altro modo in cui dobbiamo modificare i proprietari è utilizzare l'UID o il GID dell'utente o del gruppo che conosciamo eseguendo il comando id, ad esempio, l'utente e il gruppo Solvetic hanno l'UID 1000 assegnato in entrambi gli oggetti, in modo che Per eseguire questa azione eseguiremo quanto segue:
sudo chown 1000: 1000 Solvetic.docx
5. Opzioni generali per l'utilizzo del comando chown Linux
Ecco alcuni dei parametri che possiamo usare con chown in Linux per ottimizzare l'uso del comando:
Visualizza le informazioni sui file che sono stati modificati
-c, - cambia
Visualizza le informazioni dettagliate di ogni file elaborato
-v, - verboso
Non genera alcun output
-f, --silenzioso, --silenzioso
Non applica alcun riferimento ai link simbolici
--dereference
Non dereferenziare mai i link simbolici
-h, --no-dereference
Modifica il proprietario o il gruppo di ogni file solo se il proprietario o il gruppo corrente corrisponde al proprietario e/o al gruppo corrente
--from = proprietario corrente: gruppo corrente
Non influisce sulla directory principale
--no-preserve-root
Usa il proprietario e il gruppo dal file ref-file, invece di assegnare la proprietà con new-owner.
--reference = file-ref
Agisce su file e directory in modo ricorsivo
-R, --recursive
Nel caso in cui un file sulla riga di comando sia un collegamento simbolico a una directory, funzionerà anche su quei file e directory.
-H
Visualizza la versione di chown utilizzata
--versione
Visualizza il comando help
--aiuto
Possiamo vedere come la modifica del proprietario di un utente o di un gruppo di oggetti in Linux sia semplice grazie a chown.