web-dev-qa-db-fra.com

warning: répertoire inscriptible en mode monde / usr / local / bin dans PATH, mode 040777

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.

157
Xandman

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.

265
Jonathan Leffler

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?

63
peterk

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.

7
Muendo

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.

7
Larry Hynes

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.

7
Jander

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) .

3
Kyle Hotchkiss

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.

3
Mister P

Vous devez courir

Sudo chmod o-w -R /usr/local 
1
Jai Kumar Rajput

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).

1
arkiver

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

1
Sayanee

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.

0
Mandeep Singh

Cela devrait résoudre votre problème: chmod go-w {/path/of/user}

0
aphexlog