185 votes

l'avertissement : Le répertoire /usr/local/bin dans PATH, mode 040777, n'est pas sécurisé et ne peut être écrit par le monde.

Chaque fois que je lance cette commande rails server :

l'avertissement : Le répertoire /usr/local/bin dans PATH, mode 040777, n'est pas sécurisé et ne peut être écrit par le monde.

J'ai cherché une solution ici et on m'a dit de taper : chmod go-w /usr/local/bin

Mais j'obtiens cette erreur :

chmod : Impossible de changer le mode de fichier sur /usr/local/bin : Opération non autorisée

J'utilise OS X.

7 votes

J'ai eu le même problème juste après avoir installé le logiciel d'un dongle USB à large bande de T-Mobile et je me demandais s'il était responsable de ce problème. Utilisez-vous également un dongle ?

5 votes

Oui, je l'ai obtenu après avoir installé un dongle USB de Virgin (Australie).

3 votes

OMG, vraiment ? Merci pour cette information ! J'ai également remarqué qu'après avoir essayé de lancer le logiciel dongle de T-Mobile, mes permissions sont bousillées.

301voto

Jonathan Leffler Points 299946

Pour ce faire, vous devez disposer d'un accès racine. Si vous n'êtes pas déjà l'utilisateur administratif, connectez-vous en tant qu'administrateur. Utilisez ensuite 'sudo' pour modifier les permissions :

sudo chmod go-w /usr/local/bin

Évidemment, cela signifie 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.

0 votes

Si je tape la commande ci-dessus, j'obtiens : sudo : /etc/sudoers is mode 0644, should be 0440 Segmentation fault

0 votes

@Xandman : Je ne sais pas ce qui se passe avec la faute de segmentation ; les programmes ne devraient pas faire cela (surtout pas les programmes liés à la sécurité comme sudo). Il est clair que quelqu'un a modifié les permissions des fichiers sur votre système - je vous recommande de lui lire l'acte d'émeute. En attendant, vous êtes probablement confronté à une situation de poule et d'œuf ; vous ne pouvez pas utiliser 'sudo' tant que vous n'avez pas corrigé les permissions sur /etc/sudoers, et vous ne pouvez pas corriger les permissions sur /etc/sudoers sans utiliser 'sudo'. Je ne sais pas quelle est la meilleure solution...

1 votes

Je suppose que je devrais me pendre alors. Je bricole mon MAC depuis que j'ai quitté Windows. J'ai essayé d'en faire un ordinateur portable Windows. J'ai probablement fait quelque chose de stupide

65voto

peterk Points 667

J'ai eu la même erreur avec MacOSX 10.6.8 - il semble que ruby vérifie si un répertoire (y compris les parents) dans le chemin est accessible en écriture. Dans mon cas, il n'y avait pas de /usr/local/bin présent car rien ne l'avait créé.

Je devais donc faire

sudo chmod 775 /usr/local

pour supprimer l'avertissement.

La question est de savoir si un processus non Root:wheel dans MacOS a besoin de créer quoi que ce soit dans /usr/local ?

11 votes

Oui, c'est vrai, 775 => root(7) group(7) others(5), 7 => read(4) + write(2) + execute(1), and 5 => read(4) + execute(1)

11voto

Jander Points 1679

Essayez : sudo chmod go-w /usr/local/bin

Le répertoire /usr/local/bin appartient au groupe root (c'est-à-dire l'administrateur), de sorte que même si vous pouvez y écrire, vous ne pouvez pas en modifier les autorisations. Les sudo signifie "exécuter la commande suivante en tant que root", et fonctionne de la même manière qu'un clic sur l'icône de verrouillage dans les boîtes de dialogue des Préférences Système.

7voto

Larry Hynes Points 31

J'ai eu le même problème avec OSX. Il peut être résolu en exécutant Disk Utilities pour réparer les permissions. Je suis d'accord avec Peter Nixey : dans mon cas, cela se produit lorsque mon dongle 3G installe ou réinstalle son pilote. Réparer les permissions par la suite résout le problème.

7voto

Muendo Points 41

J'utilise Mountain Lion. Ce que j'ai fait, c'est chercher /usr/local et obtenir des informations. Il y a Sharing and Permissions (partage et autorisations). Assurez-vous que l'utilisateur et l'administrateur sont les seuls à avoir les droits de lecture et d'écriture. Toute autre personne ne devrait avoir qu'un accès en lecture. Cela a résolu mon problème.

Il est normalement utile d'exécuter les utilitaires de disque et de réparer les permissions.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X