Fix Oh My Zsh "Onveilige voltooiingsafhankelijke mappen gedetecteerd"
Als je onlangs Oh My Zsh hebt geïnstalleerd of een Mac met Oh My Zsh hebt bijgewerkt, kun je een groot scherm met foutmeldingen tegenkomen bij het starten van nieuwe terminalvensters. De fout vermeldt meestal "Onveilige voltooiingsafhankelijke mappen gedetecteerd" en toont een reeks /usr/local/share/zsh/-mappen waarvan de machtigingen zsh als onveilig beschouwen.
Er zijn twee mogelijkheden om met dit probleem om te gaan; een daarvan is het aanpassen van gebruikersrechten voor de betreffende mappen, en de andere is het uitschakelen van de verificatiecontrole voor de onveilige mappen.
Optie 1: machtigingen voor de opgegeven mappen wijzigen
Een optie voor het wijzigen van machtigingen is om chmod 755 te gebruiken, wat volledige machtigingen zijn voor de eigenaar (u), en machtigingen lezen en uitvoeren voor anderenvoor de betreffende mappen. Bijvoorbeeld:
chmod 755 /usr/local/share/zsh
chmod 755 /usr/local/share/zsh/site-functions
Je kunt natuurlijk andere machtigingsopties gebruiken die meer geschikt zijn voor jezelf, maar 755 zou het probleem met onveilige mappen moeten oplossen met Oh My Zsh.
(Trouwens, de standaardmachtigingen voor die mappen voor de meeste setups is 775 voor rwxrwxr-x, als je om wat voor reden dan ook wilt terugzetten).
Optie 2: Schakel de controle onveilige mappen uit
Als je de machtigingen liever niet wilt wijzigen, maar in plaats daarvan de onveilige mapverificatie wilt afschaffen (die in feite gewoon de controle negeert, het lost het potentiële beveiligingsprobleem niet op), kun je het volgende toevoegen aan uw .zshrc-bestand:
ZSH_DISABLE_COMPFIX=true
Het gebruik van nano is een gemakkelijke manier om dat toe te voegen aan je .zshrc-bestand of je teksteditor naar keuze.
Nogmaals, dit lost de klachten over toestemmingen niet op, het stopt alleen met het controleren van de rechten van de opgegeven mappen.
Voor veel gebruikers is het wenselijk om /usr/local/share/zsh/ toegankelijk te houden voor alle gebruikersaccounts, zodat alle gebruikersaccounts op de Mac Oh My Zsh kunnen gebruiken, maar voor anderen die een meer beperkende omgeving op computers met gedeelde gebruikers, kunt u de machtigingen wijzigen om daar ook rekening mee te houden.De keuze is aan jou.
De volledige foutmelding vermeldt het volgende, waarin u grotendeels wordt verteld hoe u het probleem kunt oplossen, maar het is niet noodzakelijkerwijs op de meest beknopte manier geschreven om onmiddellijk een oplossing te krijgen. Desalniettemin is het de moeite waard om te lezen en te herzien, zodat u begrijpt wat de keuzes zijn zoals toegelicht door Oh My Zsh, en wat de gevolgen zijn van elke optie om van het beveiligingsbericht af te komen.
Als je een andere methode hebt om dit probleem op te lossen, deel deze dan in de reacties.