Correggi l'errore di autorizzazione di accesso alla cartella

Se si utilizza un sottosistema Linux in Windows, Cygwin o uno qualsiasi degli altri metodi che combinano Unix e Windows, potrebbe verificarsi l'errore "Al momento non si dispone dell'autorizzazione per accedere a questa cartella". In un ambiente Linux o Unix puro, potrebbe essere visualizzato un errore simile a "Errore durante l'apertura della directory: autorizzazione negata". Lo stesso può accadere su unità di rete con un file system compatibile con POSIX, indipendentemente dal sistema operativo da cui si accede ai dati.

Al momento non hai l'autorizzazione per accedere a questa cartella.

La causa di questo problema è la stessa in tutti i casi. Hai una directory configurata per limitare l'accesso e poi provi ad accedervi da un account che non ha le autorizzazioni corrette. Per risolvere il problema, basta accedere con un account diverso o modificare le autorizzazioni della cartella.

Metodo 1: modificare gli account per accedere alle directory

Prova ad accedere alla cartella in cui stavi cercando di entrare. Se provi a raggiungerla usando il comando `cd` dal prompt dei comandi, otterrai un comando simile a: `bash: cd :Permission denied`.

Errore di autorizzazione del prompt dei comandiRiceverai un errore simile se provi ad accedere alla directory da un ambiente grafico.

Errore di autorizzazione della guida grafica

In questo caso, stavamo cercando di accedere alla directory /lost+found, che nella maggior parte delle installazioni Linux è riservata all'utente root. Tornando al terminale, digita `sudo -i` e premi Invio. Ti verrà richiesta la password, ma avrai a disposizione la shell di login di root. Puoi accedere alla directory usando `cd` ed esplorarla, ma tieni presente che stai operando dalla shell di root e quindi potresti essere piuttosto distruttivo.

Se preferisci rimanere nel tuo account abituale, prova a usare `sudo ls /lost+found` per visualizzare il contenuto di questa directory senza dover eseguire `sudo -i`. Puoi sostituire `/lost+found` con il nome di qualsiasi directory, inclusa la directory `/root`. Ricorda che usare `sudo` prima dei comandi ti consente comunque di eliminare quasi tutto.

Metodo 2: modificare le autorizzazioni predefinite su una cartella

Il primo metodo è molto semplice e funziona con qualsiasi cartella che si desidera consultare per la manutenzione del sistema o per scopi simili. Tuttavia, è possibile valutare altre opzioni se si desidera consentire agli utenti abituali di accedere a una cartella anche se si trovano su un server o in rete.

Esegui `sudo chmod -R 755 /path/to/folder`, sostituendo `path` con il percorso effettivo della directory che desideri rendere accessibile. Una volta terminato, prova ad accedervi da un account utente normale. Questo metodo è leggermente più complesso di quello descritto sopra, ma è più sicuro e permanente perché non richiede un account root dopo il primo tentativo.

Nella maggior parte dei casi, è possibile creare directory da zero con questi permessi. Provate a usare `mkdir -m 755` per impostare i permessi di lettura, scrittura ed esecuzione per un utente e di lettura ed esecuzione per gli altri. In entrambi i casi, potete usare `777`, che dà a chiunque acceda alla struttura dei file il permesso di fare ciò che vuole con quella directory. Sebbene ci siano situazioni in cui potrebbe essere opportuno farlo, come l'utilizzo di supporti rimovibili per trasferire manualmente file tra due macchine, valutate se questa soluzione sia consigliabile se lo state facendo su un file system locale. L'utilizzo del flag `-p` invece assegna alla nuova directory tutti i permessi considerati predefiniti, che è solitamente ciò che accade quando viene eseguita senza flag aggiuntivi.

Puoi anche assicurarti che i file abbiano i permessi corretti quando li copi. Prova a usare `rsync --perms --chmod Fu+w` se vuoi concedere i permessi di scrittura al proprietario del file. Puoi specificare anche altri gruppi. Puoi usare `--chown=` con `rsync`, seguito da un nome utente, due punti e il suo gruppo, in modo che anche i file copiati ricevano le mappature corrette.

Poiché `rsync` è molto utile per copiare strutture di file conformi a POSIX tra Windows e Linux, potresti voler sperimentare diverse impostazioni di `chmod` durante l'utilizzo. Un'altra cosa che potresti essere interessato a provare è `install`. Esegui `install -m 777` seguito dall'origine e dalla destinazione di un file per concedere immediatamente l'accesso in lettura e scrittura a tutti. Puoi usare `755` o qualsiasi altra combinazione per sicurezza.

Non è certamente veloce quanto `rsync`, ma può funzionare nei casi in cui si desidera specificare con precisione le autorizzazioni per correggere errori come "Al momento non hai l'autorizzazione per accedere a questa cartella".

I commenti sono chiusi.