Los de fout op met betrekking tot de toegangsrechten van de map

Als u een Linux-subsysteem in Windows, Cygwin of een van de andere methoden gebruikt om Unix en Windows te combineren, kunt u de foutmelding "U hebt momenteel geen toestemming om deze map te openen" tegenkomen. In een pure Linux- of Unix-omgeving kunt u een foutmelding krijgen zoals "Fout bij het openen van de map: Toegang geweigerd". Hetzelfde kan gebeuren op netwerkstations met een POSIX-compatibel bestandssysteem, ongeacht het besturingssysteem van waaruit de gegevens worden benaderd.

U hebt momenteel geen toegang tot deze map.

De oorzaak van dit probleem is in alle gevallen hetzelfde. U hebt een map geconfigureerd met beperkte toegang en vervolgens probeert u deze te openen met een account dat niet de juiste machtigingen heeft. Dit is eenvoudig op te lossen door in te loggen met een ander account of de mapmachtigingen aan te passen.

Methode 1: Wijzig accounts om toegang te krijgen tot mappen.

Probeer de map te openen die je probeerde te bereiken. Als je probeert ernaartoe te navigeren met het commando `cd` in de opdrachtprompt, krijg je een melding zoals: `bash: cd :Toegang geweigerd`.

Foutmelding bij het gebruik van de opdrachtpromptJe krijgt een vergelijkbare foutmelding als je de map probeert te openen vanuit een grafische omgeving.

Foutmelding bij toestemming voor grafische handleiding

In dit geval probeerden we toegang te krijgen tot de map /lost+found, die in de meeste Linux-installaties alleen toegankelijk is voor de root-gebruiker. Ga terug naar de terminal, typ `sudo -i` en druk op Enter. Je wordt gevraagd om je wachtwoord, waarna je toegang krijgt tot de root-shell. Je kunt naar de map navigeren met `cd` en deze verkennen, maar houd er rekening mee dat je vanuit de root-shell werkt en dus behoorlijk wat schade kunt aanrichten.

Als je liever in je gebruikelijke account blijft, kun je `sudo ls /lost+found` gebruiken om de inhoud van deze map te bekijken zonder `sudo -i` te hoeven uitvoeren. Je kunt `/lost+found` vervangen door de naam van elke map, inclusief de map `/root`. Houd er rekening mee dat je met `sudo` voor commando's nog steeds bijna alles kunt verwijderen.

Methode 2: De standaardmachtigingen van een map wijzigen

De eerste methode is heel eenvoudig en werkt met elke map die u alleen wilt bekijken voor systeembeheer of vergelijkbare doeleinden. U kunt echter andere opties overwegen als u reguliere gebruikers toegang wilt geven tot een map, zelfs als ze zich op een server of netwerk bevinden.

Voer `sudo chmod -R 755 /pad/naar/map` uit, waarbij u `pad` vervangt door het daadwerkelijke pad naar de map die u toegankelijk wilt maken. Probeer na afloop de map te openen met een gewoon gebruikersaccount. Deze methode is iets complexer dan de hierboven beschreven methode, maar is veiliger en permanenter omdat er na de eerste poging geen root-account meer nodig is.

In de meeste gevallen kunt u mappen vanaf nul aanmaken met deze machtigingen. Probeer `mkdir -m 755` te gebruiken om de machtigingen zo in te stellen dat één gebruiker lees-, schrijf- en uitvoerrechten heeft, en andere gebruikers alleen lees- en uitvoerrechten. U kunt in beide gevallen ook `777` gebruiken, waarmee iedereen die inlogt op de bestandsstructuur, onbeperkte toegang tot die map krijgt. Hoewel er situaties zijn waarin dit handig kan zijn, bijvoorbeeld bij het handmatig overzetten van bestanden tussen twee computers met behulp van verwisselbare media, is het verstandig om te overwegen of dit wel verstandig is op een lokaal bestandssysteem. Door de vlag `-p` te gebruiken, krijgt de nieuwe map de standaardmachtigingen, wat meestal het geval is wanneer de opdracht zonder extra vlaggen wordt uitgevoerd.

Je kunt er ook voor zorgen dat bestanden de juiste machtigingen hebben wanneer je ze kopieert. Probeer `rsync --perms --chmod Fu+w` te gebruiken als je de eigenaar van het bestand schrijfrechten wilt geven. Je kunt ook andere groepen specificeren. Je kunt `--chown=` gebruiken met `rsync`, gevolgd door een gebruikersnaam, een dubbele punt en de bijbehorende groep, zodat gekopieerde bestanden ook de juiste machtigingen krijgen.

Omdat `rsync` erg handig is voor het kopiëren van POSIX-compatibele bestandsstructuren tussen Windows en Linux, is het wellicht interessant om te experimenteren met verschillende `chmod`-instellingen. Een andere optie die je kunt uitproberen is `install`. Voer `install -m 777` uit, gevolgd door de bron en de bestemming van een bestand, om iedereen direct lees- en schrijftoegang te geven. Voor de veiligheid kun je `755` of een andere combinatie gebruiken.

Dit is zeker niet zo snel als `rsync`, maar het kan werken in gevallen waarin je de machtigingen precies wilt specificeren om fouten zoals "U hebt momenteel geen toegang tot deze map" op te lossen.

Reacties zijn gesloten.