Chaque fois que je lance cette commande Rails server
:
warning: répertoire inscriptible en mode monde/usr/local/bin dans PATH, mode 040777
J'ai cherché une solution ici et ils ont dit de taper: chmod go-w /usr/local/bin
Mais je reçois cette erreur:
chmod: impossible de changer le mode du fichier sur/usr/local/bin: opération non autorisée
J'utilise OS X au fait.
Vous aurez besoin d'un accès root pour faire cela. Si vous n'êtes pas déjà l'utilisateur administratif, connectez-vous en tant qu'administrateur. Ensuite, utilisez 'Sudo' pour modifier les autorisations:
Sudo chmod go-w /usr/local/bin
Évidemment, cela signifiera que vous ne pourrez plus installer de matériel dans/usr/local/bin sauf via 'Sudo', mais vous ne devriez probablement pas le faire de toute façon.
J'ai eu la même erreur ici MacOSX 10.6.8 - il semble Ruby vérifie si un répertoire (y compris les parents) dans le chemin est en écriture dans le monde. Dans mon cas, il n'y avait pas de/usr/local/bin présent car rien ne l’a créé.
donc je devais faire
Sudo chmod 775 /usr/local
se débarrasser de l'avertissement.
Une question ici est: tout processus non root: wheel sous MacOS doit-il créer quelque chose dans/usr/local?
J'utilise Mountain Lion. Ce que j'ai fait était de chercher/usr/local et obtenir des informations. Il y a partage et autorisations. Assurez-vous que seuls l'utilisateur et l'administrateur sont les seuls à avoir les autorisations de lecture et d'écriture. Toute autre personne devrait avoir un accès en lecture uniquement. Cela a réglé mon problème.
Il est généralement utile d’utiliser vos utilitaires de disque et de réparer les autorisations.
J'ai eu le même problème sous OSX. Il peut être corrigé en exécutant Disk Utilities pour réparer les autorisations. Je suis d'accord avec Peter Nixey: dans mon cas, cela est dû au fait que mon dongle 3G installe ou réinstalle son pilote. La réparation des autorisations corrige ensuite le problème.
Essayez: Sudo chmod go-w /usr/local/bin
Le répertoire/usr/local/bin appartient au compte root
(administrateur). Par conséquent, même si vous pouvez y écrire, vous ne pouvez pas modifier les autorisations qui y sont associées. La commande Sudo
signifie "exécutez la commande suivante en tant que root" et fonctionne beaucoup comme si vous cliquiez sur l'icône de verrouillage dans les boîtes de dialogue Préférences Système.
Si vous utilisez OSX et que cela arrive souvent, une autre bonne chose à considérer est d'utiliser un outil de réparation d'autorisations OSX intégré. Si vous ne modifiez pas le mode de vos répertoires, quelque chose d'autre le fait et il est possible que d'autres répertoires disposent également d'autorisations excessives: cet outil les réinitialisera tous aux paramètres d'usine, ce qui est une bonne idée de sécurité. Il y a un bon guide sur le Apple stackextange à propos de ce processus même) .
Idem ici, apparemment mon dossier/usr/local était accessible en écriture pour le monde, donc je l'ai créé 755
# chmod 755 /usr/local
Il est également apparu qu'un dongle mobile Hauwei que j'avais utilisé avait également installé des répertoires inscriptibles dans le monde entier dans/usr/local.
Vous devez courir
Sudo chmod o-w -R /usr/local
Même je suis tombé sur un problème similaire. J'utilise KDE sur Ubuntu 12 et, tout en jouant dans mon dossier personnel, j'avais accidentellement modifié les autorisations pour Group and Others comme "peut afficher et modifier le contenu" en cliquant avec le bouton droit de la souris sur mon dossier personnel, puis sur les propriétés pour tout oublier.
Mon avertissement était:
warning: Insecure world writable dir /home/my_home_folder in PATH, mode 040777
Donc dans mon cas, c'était le dossier personnel. J'ai annulé les modifications des autorisations et j'ai arrêté de recevoir ces avertissements lors de l'exécution du Rails tâches du serveur ou de la commission rake pour exécuter mes tests).
Je rencontre également exactement le même problème avec/usr/local/bin et/etc/sudoers sous OSX Snow lepard.Même quand je me suis connecté en tant qu'administrateur et que j'ai essayé de modifier les autorisations via le terminal, le message "Opération non permis". Et j'ai fait ce qui suit pour obtenir la permission de ces dossiers.
Depuis le terminal, j’ai accédé au fichier/etc/sudoers et j’ai ajouté le code suivant avec pico editor: username ALL = (ALL) ALL Remplacez "username" par votre nom de compte MAC OS
J'ai eu la même erreur ici MacOSX 10.11 - il semble Ruby vérifie si un répertoire (y compris les parents) dans le chemin est en écriture dans le monde. Dans mon cas, il n'y avait pas/usr/local/bin présent comme rien ne l'avait créé.
Exécutez cette commande dans votre terminal. Essayez ceci Sudo chmod 775/usr/local Ensuite, si vous avez un mot de passe sur votre mac, vous devez le saisir. Maintenant, ce problème sera résolu.
Cela devrait résoudre votre problème: chmod go-w {/path/of/user}