chmod è un'utilità della riga di comando di Linux utilizzata per modificare i permessi di accesso di file e directory. È molto utile in un ambiente multiutente in cui si desidera limitare file e directory in modo che solo utenti e processi autorizzati possano accedervi. Il comando chmod sta per "cambia modalità" e viene utilizzato per limitare il modo in cui è possibile accedere a un file.
In questo post, ti mostreremo come usare il comando chmod in Linux.
Prerequisiti
- Un server che esegue Linux sulla piattaforma Atlantic.Net Cloud
- Una password di root configurata sul tuo server
Crea server cloud Atlantic.Net
Per prima cosa, accedi al tuo server Atlantic.Net Cloud. Crea un nuovo server, scegliendo qualsiasi sistema operativo Linux con almeno 1 GB di RAM. Collegati al tuo Cloud Server tramite SSH e accedi utilizzando le credenziali evidenziate in alto nella pagina.
Sintassi di base
La sintassi di base del comando chmod in formato simbolico è mostrata di seguito:
chmod u=rwx,g=rwx,o=rwx file_name/dir_name
Dove:
- u – utente
- g – gruppo
- o – altro
- r – leggi
- w – scrivi
- x – esegui
Di seguito viene mostrata la sintassi di base del comando chmod in formato numerico:
chmod 777 file_name/dir_name
Dove:
- I primi 7 rappresentano i permessi utente
- Il secondo 7 rappresenta le autorizzazioni di gruppo
- Terzo 7 rappresenta altre autorizzazioni
Ciascuna delle cifre è una somma combinata dei numeri 4, 2, 1 e 0.
Dove:
- 4 – leggi
- 2 – scrivi
- 1 – esegui
- 0 – nessuna autorizzazione
Visualizzazione delle autorizzazioni dei file
Prima di modificare le autorizzazioni di file e directory, è importante visualizzare le autorizzazioni esistenti di file e directory.
Esegui il comando seguente per verificare le autorizzazioni esistenti di tutti i file che si trovano all'interno della directory corrente:
ls -l
Otterrai il seguente output:
-rw-rw-r-- 1 vyom vyom 1961 Feb 13 18:28 system-back.tar.gz -rw-rw-r-- 1 vyom vyom 1961 Feb 13 18:23 system-back.tar.gzip drwxr-xr-x 2 vyom vyom 4096 Oct 25 00:27 Templates -rwxrwxrwx 1 vyom vyom 119707966 Dec 7 00:31 Udeler-1.8.2-linux-x86_x64.AppImage -rw-rw-r-- 1 vyom vyom 93 Mar 29 21:57 'Untitled Document 1' drwxr-xr-x 7 vyom vyom 4096 Mar 28 10:19 Videos drwxrwxr-x 3 vyom vyom 4096 Nov 5 09:00 'VirtualBox VMs'
Su ogni riga, il primo carattere identifica il tipo di voce che si sta elencando. Se è un trattino (-) , è un file. Se è la lettera d , è una directory.
I successivi nove caratteri rappresentano le impostazioni per i tre set di autorizzazioni.
- Il primo dei tre set di caratteri rw- mostra le autorizzazioni per l'utente che possiede il file.
- La seconda delle tre serie di caratteri rw- mostra le autorizzazioni per i membri del gruppo del file.
- Il terzo dei tre set di caratteri r– mostra le autorizzazioni per gli altri.
Come usare il comando Chmod
Ora che comprendiamo i diversi tipi di permessi, cambiamo i permessi del file usando alcuni esempi.
Per modificare i permessi del file denominato file1.txt in modo che tutti possano leggerlo e scriverlo, esegui il comando seguente:
chmod u=rw,g=rw,o=rw file1.txt
Oppure
chmod 666 file1.txt
Per modificare le autorizzazioni del file denominato file1.txt in modo che il proprietario del file possa leggere, scrivere ed eseguire mentre un gruppo e altri possono leggere ed eseguire:
chmod u=rwx,g=r-x,o=r-x
Oppure
chmod 755 file1.txt
Per concedere autorizzazioni di lettura, scrittura ed esecuzione al proprietario e autorizzazioni di lettura al gruppo e ad altri in una directory denominata dir1 comprese tutte le sottodirectory e i file, utilizzare il flag -R:
chmod -R u=rwx,g=r,o=r dir1
Oppure
Chmod -R 744 dir1
Per concedere autorizzazioni di esecuzione a tutti su un file denominato file1.txt , esegui:
chmod +x file1.txt
Per rimuovere i permessi di scrittura per altri utenti, esegui il comando seguente:
chmod o-w file1.txt
Per rimuovere ricorsivamente le autorizzazioni di lettura per altri utenti su una determinata directory, eseguire:
chmod -R o-r dirname
Per rimuovere le autorizzazioni di lettura, scrittura ed esecuzione per tutti gli utenti tranne il proprietario del file, esegui:
chmod og-rwx file1.txt
Per copiare i permessi di file1.txt e applicalo a file2.txt , esegui:
chmod --reference=file1.txt file2.txt
Conclusione
In questo post, hai imparato come usare il comando chmod per modificare i permessi di file e directory in Linux. Provalo sull'hosting VPS di Atlantic.Net!