Linux Professional Institute Learning Logo.
Torna al contenuto principale
  • Home
    • Tutte le Risorse
    • LPI Learning Materials
    • Collabora
    • Publishing Partner
    • Diventa un Publishing Partner
    • FAQ
    • Collaboratori
    • Contatto
  • LPI.org
5.4 Lezione 1
Argomento 1: La Comunità Linux e una Carriera nell'Open Source
1.1 Evoluzione di Linux e Sistemi Operativi più Diffusi
  • 1.1 Lezione 1
1.2 Principali Applicazioni Open Source
  • 1.2 Lezione 1
1.3 Software e Licenze Open Source
  • 1.3 Lezione 1
1.4 Competenze ICT - Lavorare con Linux
  • 1.4 Lezione 1
Argomento 2: Trovare il Proprio Modo di Operare su un Sistema Linux
2.1 Nozioni di Base sulla Command Line
  • 2.1 Lezione 1
  • 2.1 Lezione 2
2.2 Utilizzo della Command Line per Ottenere Aiuto
  • 2.2 Lezione 1
2.3 Utilizzo di Directory e Elenchi di File
  • 2.3 Lezione 1
  • 2.3 Lezione 2
2.4 Creazione, Spostamento ed Eliminazione di File
  • 2.4 Lezione 1
Argomento 3: Il Potere della Command Line
3.1 Archiviazione dei File sulla Command Line
  • 3.1 Lezione 1
3.2 Ricerca ed Estrazione di Dati dai File
  • 3.2 Lezione 1
  • 3.2 Lezione 2
3.3 Trasformare i Comandi in uno Script
  • 3.3 Lezione 1
  • 3.3 Lezione 2
Argomento 4: Il Sistema Operativo Linux
4.1 Scelta di un Sistema Operativo
  • 4.1 Lezione 1
4.2 Comprendere l'Hardware del Computer
  • 4.2 Lezione 1
4.3 Dove Sono Memorizzati i Dati
  • 4.3 Lezione 1
  • 4.3 Lezione 2
4.4 Il Tuo Computer in Rete
  • 4.4 Lezione 1
Argomento 5: Sicurezza e Permessi sui File
5.1 Sicurezza di Base e Identificazione dei Tipi di Utente
  • 5.1 Lezione 1
5.2 Creazione di Utenti e Gruppi
  • 5.2 Lezione 1
5.3 Gestione delle Autorizzazioni e delle Proprietà dei File
  • 5.3 Lezione 1
5.4 Directory e File Speciali
  • 5.4 Lezione 1
How to get certified
  1. Argomento 5: Sicurezza e Permessi sui File
  2. 5.4 Directory e File Speciali
  3. 5.4 Lezione 1

5.4 Lezione 1

Certificazione:

Linux Essentials

Versione:

1.6

Argomento:

5 Sicurezza e Permessi sui File

Obiettivo:

5.4 Directory e File Speciali

Lezione:

1 di 1

Introduzione

In Linux, tutto viene trattato come un file. Tuttavia alcuni file ricevono un trattamento speciale, sia per dove sono memorizzati, come nel caso dei file temporanei, sia per il modo in cui interagiscono con il filesystem, come nel caso dei link. In questa lezione impareremo posizione, funzionamento e gestione di tali file.

File Temporanei

I file temporanei sono file utilizzati dai programmi per archiviare dati necessari solo per un periodo di tempo limitato: per esempio dati dei processi in esecuzione, log di guasti (crash logs), file scratch di un salvataggio automatico, file intermedi utilizzati durante una conversione di file, file di cache e così via.

Posizione dei File Temporanei

La versione 3.0 del Filesystem Hierarchy Standard (FHS) definisce le posizioni standard per i file temporanei sui sistemi Linux. Ogni posizione ha uno scopo e un comportamento diverso: è consigliato agli sviluppatori seguire le convenzioni impostate dal FHS quando scrivono dati temporanei sul disco.

/tmp

Secondo il FHS, i programmi non dovrebbero supporre che i file scritti qui vengano conservati tra invocazioni di un programma. Il consiglio è di pulire questa directory (tutti i file cancellati) durante l’avvio del sistema, sebbene questo non sia obbligatorio.

/var/tmp

Un’altra posizione per i file temporanei, ma questa non dovrebbe essere pulita durante l’avvio del sistema, ovvero i file archiviati qui di solito persistono tra i riavvii.

/run

Questa directory contiene dati variabili di run-time utilizzati dai processi in esecuzione, come i file di identificativo di processo (.pid). I programmi che richiedono più di un file di run-time possono creare sottodirectory qui. Questa posizione deve essere pulita durante l’avvio del sistema. In passato la funzione di questa directory era assolta da /var/run, e su alcuni sistemi /var/run potrebbe essere un link simbolico a /run.

Nota che nulla impedisce a un programma di creare file temporanei altrove nel sistema, ma è buona norma rispettare le convenzioni stabilite dal FHS.

Permessi sui File Temporanei

L’esistenza di directory temporanee a livello di sistema su un sistema multiutente presenta alcune criticità in relazione ai permessi di accesso. Di primo acchito si potrebbe pensare che tali directory siano “scrivibili da chiunque” (“world-writable”), cioè che qualsiasi utente possa scrivere o cancellare dati al loro interno. Ma se fosse vero, come potremmo impedire a un utente di cancellare o modificare file creati da un altro utente?

La soluzione è un permesso speciale chiamato sticky bit, che si applica sia alle directory sia ai file. Tuttavia, per motivi di sicurezza, il kernel Linux ignora lo sticky bit quando viene applicato ai file. Quando questo bit speciale è impostato su una directory, impedisce agli utenti di rimuovere o rinominare un file all’interno di quella directory a meno che non siano i proprietari del file stesso.

Le directory con impostato lo sticky bit mostrano una t che sostituisce la x nei permessi per gli altri nell’output di ls -l. Per esempio, controlliamo i permessi per le directory /tmp e /var/tmp:

$ ls -ldh /tmp/ /var/tmp/
drwxrwxrwt 25 root root 4,0K Jun  7 18:52 /tmp/
drwxrwxrwt 16 root root 4,0K Jun  7 09:15 /var/tmp/

Come puoi vedere dalla t che sostituisce la x nei permessi per gli altri, entrambe le directory hanno impostato lo sticky bit.

Per impostare lo sticky bit su una directory utilizzando chmod in modalità numerica, utilizza la notazione a quattro cifre e 1 come prima cifra. Per esempio:

$ chmod 1755 temp

Questo comando imposta lo sticky bit sulla directory temp e i imposta permessi a rwxr-xr-t.

Quando si utilizza la modalità simbolica, è necessario utilizzare il parametro t. Quindi utilizza +t per impostare lo sticky bit e -t per rimuoverlo, nel seguente modo:

$ chmod +t temp

Comprendere i Link

Abbiamo già detto che su Linux tutto viene trattato come un file, ma ne esiste un tipo speciale, chiamato link. Ci sono due tipi di link su un sistema Linux:

Link Simbolici

Chiamati anche soft link, puntano al percorso di un altro file. Se elimini il file a cui punta il link (chiamato target) il link esisterà ancora, ma “smetterà di funzionare”, poiché adesso punta al “nulla”.

Hard link

Pensa un hard link come un secondo nome del file originale. Non sono duplicati, ma voci aggiuntive nel file system che puntano alla stessa posizione (inode) sul disco.

Tip

Un inode è una struttura dati che memorizza gli attributi di un oggetto (come un file o una directory) su un filesystem. Tra questi attributi ci sono il nome del file, i permessi, l’ownership e su quali blocchi del disco sono memorizzati i dati dell’oggetto. Pensalo come una voce in un indice: da qui il nome, che deriva da “index node”.

Lavorare con gli Hard Link

Creare Hard Link

Il comando per creare un hard link su Linux è ln. La sintassi base è:

$ ln TARGET LINK_NAME

Il TARGET deve già esistere (questo è il file a cui punta il link), e, se il target non si trova nella directory corrente, o se si desidera creare il link altrove, è necessario specificarne il percorso completo. Per esempio, il comando

$ ln target.txt /home/carol/Documents/hardlink

crea un file chiamato hardlink nella directory /home/carol/Documents/, collegato al file target.txt nella directory corrente.

Se tralasci l’ultimo parametro (LINK_NAME), viene creato un link con lo stesso nome del target nella directory corrente.

Gestire gli Hard Link

Gli hard link sono voci nel filesystem che hanno nomi diversi, ma che puntano agli stessi dati sul disco. Tutti questi nomi sono equivalenti e possono essere utilizzati per fare riferimento a un file. Se si modifica il contenuto di uno dei nomi, viene modificato il contenuto di tutti gli altri nomi che puntano a quel file, poiché tutti questi nomi puntano agli stessi dati. Se elimini uno dei nomi, gli altri continueranno a funzionare.

Ciò accade perché quando si “elimina” un file i dati non vengono effettivamente cancellati dal disco. Il sistema cancella semplicemente la voce nella tabella del filesystem che punta all’inode corrispondente ai dati sul disco. Ma se c’è una seconda voce che punta allo stesso inode, sarà comunque possibile accedere ai dati. Pensa a questo come a due strade che convergono nello stesso punto. Anche se blocchi o devii una delle strade, puoi comunque raggiungere la destinazione utilizzando l’altra.

Puoi verificarlo utilizzando l’opzione -i di ls. Considera il seguente contenuto di una directory:

$ ls -li
total 224
3806696 -r--r--r-- 2 carol carol 111702 Jun  7 10:13 hardlink
3806696 -r--r--r-- 2 carol carol 111702 Jun  7 10:13 target.txt

Il numero prima dei permessi è il numero di inode. Hai notato che sia il file hardlink sia il file target.txt hanno lo stesso numero (3806696)? Questo perché uno è un hard link dell’altro.

Ma qual è l’originale e qual è il link? Non si può davvero dire, poiché, a tutti gli effetti, sono la stessa cosa.

Nota che ogni hard link che punta a un file incrementa il contatore di link (link count) del file. Questo è il numero subito dopo i permessi nell’output di ls -l. Per impostazione predefinita, ogni file ha un link count pari a 1 (2 per le directory) e ogni hard link a esso aumenta il conteggio di uno. Quindi, questo è il motivo per cui nei file dell’elenco sopra riportato il link count è pari a 2 .

A differenza dei link simbolici, è possibile creare solo hard link ai file; sia il link sia il target devono risiedere nello stesso file system.

Spostare e Rimuovere Hard Link

Poiché gli hard link sono trattati come file normali, possono essere cancellati con rm e rinominati o spostati nel filesystem con mv. E poiché un hard link punta allo stesso inode del target, può essere spostato liberamente, senza timore di “rompere” il collegamento.

Link Simbolici

Creare Link Simbolici

Anche il comando usato per creare un link simbolico è ln, ma con l’aggiunta dell’opzione -s, nel seguente modo:

$ ln -s target.txt /home/carol/Documents/softlink

Questo comando crea un file chiamato softlink nella directory /home/carol/Documents/ che punta al file target.txt nella directory corrente.

Come per gli hard link è possibile omettere il nome del link per creare un link con lo stesso nome del target nella directory corrente.

Gestire i Link Simbolici

I link simbolici puntano a un altro percorso nel filesystem. È possibile creare soft link di file e directory, anche su partizioni diverse. È abbastanza facile individuare un link simbolico dall’output di ls:

$ ls -lh
total 112K
-rw-r--r-- 1 carol carol 110K Jun  7 10:13 target.txt
lrwxrwxrwx 1 carol carol   12 Jun  7 10:14 softlink -> target.txt

Nell’esempio sopra riportato, il primo carattere nei permessi del file softlink è l, che indica un link simbolico. Inoltre, subito dopo il nome del file possiamo notare il nome del target a cui punta il link: il file target.txt.

Nota che negli elenchi di file e directory, i soft link mostrano sempre i permessi rwx per l’utente, il gruppo e gli altri, ma in pratica i loro permessi di accesso sono gli stessi di quelli del target.

Spostare e Rimuovere Link Simbolici

Come per gli hard link, i link simbolici possono essere rimossi usando rm e possono essere spostati o rinominati usando mv. Tuttavia, è necessario prestare particolare attenzione durante la loro creazione per evitare di “rompere” il link nel caso in cui venga spostato dalla sua posizione originale.

Quando si creano link simbolici è necessario essere consapevoli del fatto che, a meno che un percorso non sia completamente specificato, la posizione del target viene interpretata come relativa alla posizione del link. Ciò potrebbe creare problemi se il link o il file a cui punta viene spostato.

È più facile capirlo con un esempio: supponiamo di avere un file chiamato original.txt nella directory corrente e di voler creare un link simbolico a esso chiamato softlink. Possiamo usare:

$ ln -s original.txt softlink

E a quanto pare tutto è andato per il verso giusto. Controlliamo con ls:

$ ls -lh
total 112K
-r--r--r-- 1 carol carol 110K Jun  7 10:13 original.txt
lrwxrwxrwx 1 carol carol   12 Jun  7 19:23 softlink -> original.txt

Guarda come è costruito il link: softlink punta a (→) original.txt. Tuttavia, vediamo cosa succede se spostiamo il link nella directory padre e proviamo a visualizzarne il contenuto utilizzando il comando less:

$ mv softlink ../
$ less ../softlink
../softlink: No such file or directory

Poiché il percorso di original.txt non è stato specificato, il sistema presume che si trovi nella stessa directory del link. Quando questo non è più vero, il link smette di funzionare.

Per evitare ciò è necessario specificare sempre il percorso completo del target durante la creazione del link:

$ ln -s /home/carol/Documents/original.txt softlink

In questo modo, indipendentemente da dove sposti il ​​link, questo continuerà a funzionare, perché punta alla posizione assoluta del target. Controlla con ls:

$ ls -lh
total 112K
lrwxrwxrwx 1 carol carol   40 Jun  7 19:34 softlink -> /home/carol/Documents/original.txt

Esercizi Guidati

  1. Immagina che un programma debba creare un file temporaneo monouso che non sarà mai più necessario dopo la chiusura del programma. Qual è la directory corretta in cui creare questo file?

  2. Qual è la directory temporanea che deve essere cancellata durante il processo di avvio?

  3. Qual è il parametro di chmod per abilitare, in modalità simbolica, lo sticky bit su una directory?

  4. Immagina che ci sia un file chiamato document.txt nella directory /home/carol/Documents. Qual è il comando per creare un link simbolico, chiamato text.txt, a tale file nella directory corrente?

  5. Spiega la differenza tra un hard link e una copia di un file.

Esercizi Esplorativi

  1. Immagina di creare un file chiamato recipes.txt all’interno di una directory . All’interno di questa directory, crei anche un hard link a questo file, chiamato receitas.txt, e un link simbolico (o soft) a questo chiamato rezepte.txt.

    $ touch recipes.txt
    $ ln recipes.txt receitas.txt
    $ ln -s receitas.txt rezepte.txt

    Il contenuto della directory dovrebbe apparire così:

    $ ls -lhi
    total 160K
    5388833 -rw-r--r-- 4 carol carol 77K jun 17 17:25 receitas.txt
    5388833 -rw-r--r-- 4 carol carol 77K jun 17 17:25 recipes.txt
    5388837 lrwxrwxrwx 1 carol carol  12 jun 24 10:12 rezepte.txt -> receitas.txt

    Ricorda che, in quanto hard link, receitas.txt punta allo stesso inode di recipes.txt. Che cosa succede al soft link rezepte.txt se receitas.txt venisse cancellato? Per quale motivo?

  2. Immagina di avere una chiavetta USB collegata al tuo sistema montata su /media/youruser/FlashA. Vuoi creare nella tua directory home un link chiamato schematics.pdf che punti al file esquema.pdf nella directory principale della chiavetta. Digiti quindi il ​​comando:

    $ ln /media/youruser/FlashA/esquema.pdf ~/schematics.pdf

    Che cosa succede? Per quale motivo?

  3. Considera il seguente output di ls -lah:

    $ ls -lah
    total 3,1M
    drwxr-xr-x 2 carol carol 4,0K jun 17 17:27 .
    drwxr-xr-x 5 carol carol 4,0K jun 17 17:29 ..
    -rw-rw-r-- 1 carol carol 2,8M jun 17 15:45 compressed.zip
    -rw-r--r-- 4 carol carol  77K jun 17 17:25 document.txt
    -rw-rw-r-- 1 carol carol 216K jun 17 17:25 image.png
    -rw-r--r-- 4 carol carol  77K jun 17 17:25 text.txt
    • Quanti link puntano al file document.txt?

    • Sono soft o hard link?

    • Quale parametro devi passare a ls per vedere quale inode occupa ogni file?

  4. Immagina di avere nella tua directory ~/Documents un file chiamato clients.txt contenente alcuni nomi di client e una directory chiamata somedir. All’interno di essa c’è un altro file anch’esso chiamato clients.txt con nomi differenti. Per replicare questa struttura utilizza i seguenti comandi.

    $ cd ~/Documents
    $ echo "John, Michael, Bob" > clients.txt
    $ mkdir somedir
    $ echo "Bill, Luke, Karl" > somedir/clients.txt

    Crea poi un link all’interno di somedir chiamato partners.txt che punta a questo file, utilizzando i seguenti comandi:

    $ cd somedir/
    $ ln -s clients.txt partners.txt

    Quindi la struttura della directory è:

    Documents
    |-- clients.txt
    `-- somedir
        |-- clients.txt
        `-- partners.txt -> clients.txt

    Ora, sposta partners.txt da somedir a ~/Documents ed elencane il contenuto.

    $ cd ~/Documents/
    $ mv somedir/partners.txt .
    $ less partners.txt

    Il link funziona ancora? In tal caso, quale file avrà il suo contenuto elencato? Per quale motivo?

  5. Considera i seguenti file:

    -rw-r--r-- 1 carol carol 19 Jun 24 11:12 clients.txt
    lrwxrwxrwx 1 carol carol 11 Jun 24 11:13 partners.txt -> clients.txt

    Quali sono i permessi di accesso per partners.txt? Per quale motivo?

Sommario

In questa lezione hai imparato:

  • Dove vengono memorizzati i file temporanei;

  • Qual è il permesso speciale che viene loro applicato;

  • Cosa sono i link;

  • La differenza tra link simbolici e hard link;

  • Come creare i link;

  • Come spostarli, rinominarli o rimuoverli.

In questa lezione sono stati discussi i seguenti comandi:

  • ln

  • Il parametro -i di ls

Risposte agli Esercizi Guidati

  1. Immagina che un programma debba creare un file temporaneo monouso che non sarà mai più necessario dopo la chiusura del programma. Qual è la directory corretta in cui creare questo file?

    Poichè, dopo che il programma ha terminato l’esecuzione, non ci interessa più il file, la directory corretta è /tmp.

  2. Qual è la directory temporanea che deve essere cancellata durante il processo di avvio?

    La directory è /run o, su alcuni sistemi, /var/run.

  3. Qual è il parametro di chmod per abilitare, in modalità simbolica, lo sticky bit su una directory?

    Il simbolo dello sticky bit in modalità simbolica è t. Dato che vogliamo abilitare (aggiungere) questo permesso alla directory, il parametro è +t.

  4. Immagina che ci sia un file chiamato document.txt nella directory /home/carol/Documents. Qual è il comando per creare un link simbolico, chiamato text.txt, a tale file nella directory corrente?

    ln -s è il comando per creare un link simbolico. Poiché è necessario specificare il percorso completo del file del quale stai creando il link, il comando è:

    $ ln -s /home/carol/Documents/document.txt text.txt
  5. Spiega la differenza tra un hard link e una copia di un file.

    Un hard link è solo un altro nome per un file. Anche se sembra un duplicato del file originale, a tutti gli effetti sia il link sia il file originale sono la stessa cosa, poiché puntano agli stessi dati sul disco. Le modifiche apportate al contenuto del link si riflettono sul file originale e viceversa. Una copia è un’entità completamente indipendente, che occupa un posto diverso sul disco. Le modifiche alla copia non si riflettono sull’originale e viceversa.

Risposte agli Esercizi Esplorativi

  1. Immagina di creare un file chiamato recipes.txt all’interno di una directory . All’interno di questa directory, crei anche un hard link a questo file, chiamato receitas.txt, e un link simbolico (o soft) a questo chiamato rezepte.txt.

    $ touch recipes.txt
    $ ln recipes.txt receitas.txt
    $ ln -s receitas.txt rezepte.txt

    Il contenuto della directory dovrebbe apparire così:

    $ ls -lhi
    total 160K
    5388833 -rw-r--r-- 4 carol carol 77K jun 17 17:25 receitas.txt
    5388833 -rw-r--r-- 4 carol carol 77K jun 17 17:25 recipes.txt
    5388837 lrwxrwxrwx 1 carol carol  12 jun 24 10:12 rezepte.txt -> receitas.txt

    Ricorda che, in quanto hard link, receitas.txt punta allo stesso inode di recipes.txt. Che cosa succede al soft link rezepte.txt se receitas.txt venisse cancellato? Per quale motivo?

    Il soft link rezepte.txt smetterebbe di funzionare. Questo perché i soft link puntano ai nomi, non agli inode, e il nome receitas.txt non esiste più, anche se i dati sono ancora sul disco con il nome recipes.txt.

  2. Immagina di avere una chiavetta USB collegata al tuo sistema montata su /media/youruser/FlashA. Vuoi creare nella tua directory home un link chiamato schematics.pdf che punti al file esquema.pdf nella directory principale della chiavetta. Digiti quindi il ​​comando:

    $ ln /media/youruser/FlashA/esquema.pdf ~/schematics.pdf

    Che cosa succede? Per quale motivo?

    Il comando non viene eseguito correttamente. Il messaggio di errore è Invalid cross-device link facendoti capire il motivo: gli hard link non possono puntare a un target in una diversa partizione o in un diverso dispositivo. L’unico modo per creare un link come questo è usare un link simbolico o soft, aggiungendo il parametro -s a ln.

  3. Considera il seguente output di ls -lah:

    $ ls -lah
    total 3,1M
    drwxr-xr-x 2 carol carol 4,0K jun 17 17:27 .
    drwxr-xr-x 5 carol carol 4,0K jun 17 17:29 ..
    -rw-rw-r-- 1 carol carol 2,8M jun 17 15:45 compressed.zip
    -rw-r--r-- 4 carol carol  77K jun 17 17:25 document.txt
    -rw-rw-r-- 1 carol carol 216K jun 17 17:25 image.png
    -rw-r--r-- 4 carol carol  77K jun 17 17:25 text.txt
    • Quanti link puntano al file document.txt?

      Ogni file inizia con un link count pari a 1. Poiché il link count del file è 4, ci sono tre link che puntano a quel file.

    • Sono soft o hard link?

      Sono hard link, poiché i soft link non incrementano il link count di un file.

    • Quale parametro devi passare a ls per vedere quale inode occupa ogni file?

      Il parametro è -i. L’inode viene mostrato come prima colonna nell’output di ls, come puoi vedere nel seguente esempio:

      $ ls -lahi
      total 3,1M
      5388773 drwxr-xr-x 2 rigues rigues 4,0K jun 17 17:27 .
      5245554 drwxr-xr-x 5 rigues rigues 4,0K jun 17 17:29 ..
      5388840 -rw-rw-r-- 1 rigues rigues 2,8M jun 17 15:45 compressed.zip
      5388833 -rw-r--r-- 4 rigues rigues  77K jun 17 17:25 document.txt
      5388837 -rw-rw-r-- 1 rigues rigues 216K jun 17 17:25 image.png
      5388833 -rw-r--r-- 4 rigues rigues  77K jun 17 17:25 text.txt
  4. Immagina di avere nella tua directory ~/Documents un file chiamato clients.txt contenente alcuni nomi di client e una directory chiamata somedir. All’interno di essa c’è un altro file anch’esso chiamato clients.txt con nomi differenti. Per replicare questa struttura utilizza i seguenti comandi.

    $ cd ~/Documents
    $ echo "John, Michael, Bob" > clients.txt
    $ mkdir somedir
    $ echo "Bill, Luke, Karl" > somedir/clients.txt

    Crea poi un link all’interno di somedir chiamato partners.txt che punta a questo file, utilizzando i seguenti comandi:

    $ cd somedir/
    $ ln -s clients.txt partners.txt

    Quindi la struttura della directory è:

    Documents
    |-- clients.txt
    `-- somedir
        |-- clients.txt
        `-- partners.txt -> clients.txt

    Ora, sposta partners.txt da somedir a ~/Documents ed elencane il contenuto.

    $ cd ~/Documents/
    $ mv somedir/partners.txt .
    $ less partners.txt

    Il link funziona ancora? In tal caso, quale file avrà il suo contenuto elencato? Per quale motivo?

    È “ingannevole”, ma il link funziona e il file elencato sarà quello in ~/Documents, contenente i nomi John, Michael, Bob.

    Ricorda che poiché non hai specificato il percorso completo del target clients.txt durante la creazione del soft link partners.txt, il percorso del target viene interpretato come relativo alla posizione del link, che in questo caso è la directory corrente.

    Quando il link viene spostato da ~/Documents/somedir a ~/Documents, dovrebbe smettere di funzionare, poiché il target non è più nella stessa directory del link. Tuttavia, per coincidenza, c’è un file chiamato clients.txt in ~/Documents: quindi il link punterà a questo file, invece che al target originale all’interno di ~/somedir.

    Per evitare ciò, specifica sempre il percorso completo del target quando crei un link simbolico.

  5. Considera i seguenti file:

    -rw-r--r-- 1 rigues rigues 19 Jun 24 11:12 clients.txt
    lrwxrwxrwx 1 rigues rigues 11 Jun 24 11:13 partners.txt -> clients.txt

    Quali sono i permessi di accesso per partners.txt? Per quale motivo?

    I permessi di accesso di partners.txt sono rw-r—​r--, poiché i link ereditano sempre gli stessi permessi di accesso del target.

Linux Professional Institute Inc. Tutti i diritti riservati. Visita il sito Learning Materials: https://learning.lpi.org
Quest'opera è sotto la licenza 'Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License'.

Linux Professional Institute Inc. Tutti i diritti riservati. Visita il sito Learning Materials: https://learning.lpi.org
Quest'opera è sotto la licenza 'Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License'.

LPI è una organizzazione non-profit.

© 2023 Linux Professional Institute (LPI) è lo standard di certificazione globale e l'organizzazione di supporto alla carriera per i Professionisti Open Source. Con più di 200,000 titolari di Certificazione, è il primo e il più grande ente di Certificazione Open Source e Linux vendor-neutral. LPI ha professionisti certificati in oltre 180 Paesi, offre i suoi Esami in più lingue e ha centinaia di Partner di formazione in tutto il mondo.

La nostra missione è promuovere l'uso dell'Open Source supportando le persone che vi lavorano.

  • LinkedIn
  • flogo-RGB-HEX-Blk-58 Facebook
  • Twitter
  • Contattaci
  • Privacy & Cookie Policy

Trovato un errore? Per favore scrivi a contattaci.

© 1999–2023 The Linux Professional Institute Inc. Tutti i diritti riservati.