English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Proprietà di base dei file di Linux

Il sistema Linux è un sistema multiutente tipico, in cui diversi utenti si trovano in posizioni diverse e hanno permessi diversi.

Per proteggere la sicurezza del sistema, il sistema Linux ha fatto diverse specifiche per i permessi di accesso degli utenti allo stesso file (inclusi i file di directory).

In Linux, di solito utilizziamo due comandi per modificare l'utente e i permessi di un file o di una directory:

  • chown (change ownerp): Modifica l'utente e il gruppo di appartenenza.

  • chmod (change mode): Modifica i permessi dell'utente.

Nell'immagine sottostante, l'autorizzazione dell'utente è fornita tramite chown, la configurazione dei permessi dell'utente tramite chmod.

In Linux, possiamo utilizzare i comandi ll o ls –l per visualizzare le attributi del file e l'utente e il gruppo di appartenenza del file, come:

[root@www ~]# ls -l
totale 64
dr-xr-xr-x   2 root root 4096 Dec 14  2012 bin
dr-xr-xr-x   4 root root 4096 Apr 19  2012 boot
...

Nell'esempio di seguito,bin Il primo attributo del file è rappresentato da d. d in Linux rappresenta che il file è un file di directory.

In Linux, il primo carattere rappresenta se il file è una directory, un file o un link file ecc.

  • Quando è d, è una directory

  • Quando è -, è un file;

  • Se è l, rappresenta un documento di link (link file);

  • Se è b, rappresenta un'interfaccia di dispositivo di file di sistema utilizzabile per l'archiviazione (dispositivo di accesso casuale);

  • Se è c, rappresenta un dispositivo di file di sistema di porta seriale, ad esempio tastiera, mouse (dispositivo di lettura una tantum).

Nei caratteri successivi, in gruppi di tre, e sono combinazioni dei tre parametri rwx. In cui, r rappresenta leggibile (read), w rappresenta scrivibile (write), x rappresenta eseguibile (execute). È importante notare che la posizione di questi tre permessi non cambia, se non ci sono permessi, appare un trattino - semplicemente.

Ogni attributo del file è determinato dai primi 10 caratteri (come illustrato nell'immagine).

Da sinistra a destra utilizzando 0-9 Questi numeri per rappresentare.

Il bit 0 Il carattere determina il tipo di file, il 1-3 Il carattere determina il proprietario (il proprietario del file) che ha i permessi del file.

I primi 4-6 caratteri determinano il gruppo di appartenenza (gli utenti dello stesso gruppo del proprietario) che hanno i permessi del file, i caratteri dal 7 al 9 determinano i permessi degli altri utenti del file.

Tra cui, il numero 1, 4, 7 rappresenta il permesso di lettura, se rappresentato dal carattere r, allora ha il permesso di lettura, se rappresentato dal carattere -, allora non ha il permesso di lettura;

Il bit 2, 5, 8 Un bit rappresenta il permesso di scrittura, se rappresentato dal carattere w, allora ha il permesso di scrittura, se rappresentato dal carattere -, allora non ha il permesso di scrittura; 3, 6, 9 Un bit rappresenta il permesso esecutivo, se rappresentato dal carattere x, allora ha il permesso di esecuzione, se rappresentato dal carattere -, allora non ha il permesso di esecuzione.

Proprietario e gruppo dei file Linux

[root@www ~]# ls -l
totale 64
drwxr-xr-x 2 root root 4096 Feb 15 14:46 cron
drwxr-xr-x 3 mysql mysql 4096 Apr 21 2014 mysql
...

Per i file, c'è sempre un proprietario specifico, che è l'utente che ha il diritto di proprietà del file.

Allo stesso tempo, nel sistema Linux, gli utenti sono classificati per gruppo, un utente appartiene a un gruppo o più gruppi.

Oltre agli utenti proprietari del file, gli utenti possono essere divisi in utenti dello stesso gruppo del proprietario e altri utenti.

Quindi, il sistema Linux assegna diversi permessi di accesso ai file in base al proprietario del file, agli utenti dello stesso gruppo del proprietario e agli altri utenti.

Nell'esempio sopra, il file mysql è un file directory, il proprietario e il gruppo sono mysql, il proprietario ha i permessi di lettura, scrittura ed esecuzione; gli altri utenti dello stesso gruppo del proprietario hanno i permessi di lettura ed esecuzione; gli altri utenti hanno i permessi di lettura ed esecuzione.

Per l'utente root, di solito, i permessi del file non hanno alcun effetto.

Cambia le proprietà del file

1. chgrp: cambia il gruppo del file

Sintassi:

chgrp [-R] nome_gruppo nome_file

Opzioni dei parametri

  • -R: cambia ricorsivamente il gruppo del file, ossia quando si cambia il gruppo di un file nella directory, se si aggiunge il parametro -R, allora il gruppo di tutti i file nella directory verrà cambiato.

2. chown: cambia il proprietario del file, può anche cambiare il gruppo del file

Sintassi:

chown [–R] nome_utente nome_file
chown [-R] nome_utente:nome_gruppo nome_file

Entra nella directory /root (~) e cambia il proprietario di install.log al conto bin:

[root@www ~] cd ~
[root@www ~]# chown bin install.log
[root@www ~]# ls -l
-rw-r--r-- 1 bin users 68495 Giu 25 08:53 install.log

Modifica il proprietario e il gruppo di install.log al root:

[root@www ~]# chown root:root install.log
[root@www ~]# ls -l
-rw-r--r-- 1 root root 68495 Giu 25 08:53 install.log

3、chmod: Modifica i 9 attributi del file

Ci sono due metodi per impostare le proprietà dei file di Linux, uno è numerico e l'altro è simbolico.

I permessi di base dei file di Linux hanno nove, che sono owner/group/others (proprietario/gruppo/altro) Ogni identità ha il proprio read/write/execute Permesso.

Riassumiamo i dati menzionati prima: i caratteri di permesso del file sono: -rwxrwxrwx, questi nove permessi sono raggruppati in gruppi di tre! Possiamo utilizzare numeri per rappresentare ciascun permesso, la tabella di corrispondenza dei punteggi di ciascun permesso è come segue:

  • r:4

  • w:2

  • x:1

Per ogni identità (owner/group/others), ciascun dei tre permessi (r/w/x) deve essere sommato. Ad esempio, quando i permessi sono: -rwxrwx---, il punteggio è:

  • owner = rwx = 4+2+1 = 7

  • group = rwx = 4+2+1 = 7

  • others= --- = 0+0+0 = 0

Quindi quando impostiamo la modifica dei permessi, il numero di permessi del file è 770.La sintassi dell'istruzione di modifica dei permessi chmod è la seguente:

 chmod [-R] xyz file o directory

Opzioni e parametri:

  • xyz : È l'attributo di permesso numerico menzionato prima, che è la somma del valore numerico dell'attributo rwx.

  • -R : Effettua una modifica continua ricorsiva (recursive), ossia include anche tutti i file nella sottodirectory

Per esempio, se si desidera impostare tutti i permessi del file .bashrc, il comando è come segue:

[root@www ~]# ls -al .bashrc
-rw-r--r-- 1 root root 395 Lug 4 11:45 .bashrc
[root@www ~]# chmod 777 .bashrc
[root@www ~]# ls -al .bashrc
-rwxrwxrwx 1 root root 395 Lug 4 11:45 .bashrc

Quindi se si desidera convertire i permessi in -rwxr-xr-- allora? Quindi il punteggio dei permessi diventa [4+2+1][4+0+1][4+0+0]=754.

Modifica dei permessi dei file tramite il tipo di simbolo

Esiste anche un altro metodo per modificare i permessi, come possiamo vedere nell'introduzione precedente, ci sono in totale nove permessi, che sono:

  • user:utente

  • group:gruppo

  • others:altri

Quindi possiamo usare u, g, o per rappresentare i permessi di tre identità.

Inoltre, a rappresenta allovvero tutte le identità. I permessi di lettura e scrittura possono essere scritti come r, w, x, ossia possono essere visualizzati nel modo seguente:

chmodu
g
o
a
(aggiungere)
-(rimuovere)
=(impostare)
r
w
x
File o directory

Se dobbiamo impostare i permessi del file: -rwxr-xr-- Puoi usare chmod u=rwx,g=rx,o=r nomefile per impostare:

# touch test1 // Crea il file test1
# ls -al test1 // Visualizza i permessi predefiniti di test1
-rw-r--r-- 1 root root 0 Nov 15 10:32 test1
# chmod u=rwx,g=rx,o=r test1 // Modifica i permessi di test1
# ls -al test1
-rwxr-xr-- 1 root root 0 Nov 15 10:32 test1

E se si desidera rimuovere i permessi senza modificare altri permessi esistenti? Ad esempio, se si desidera rimuovere i permessi esecutivi di tutti, allora:

# chmod a-x test1
# ls -al test1
-rw-r--r-- 1 root root 0 Nov 15 10:32 test1

Più contenuti di riferimento