web-dev-qa-db-fra.com

Répertoire inscriptible dans le monde / Utilisateurs / nom d'utilisateur dans PATH, mode 040777 lors de l'exécution des commandes Ruby

Quand j'exécute Ruby commandes comme gem -v J'obtiens cette erreur:

/Users/kristoffer/.rvm/rubies/Ruby-1.9.2-p180/bin/gem:4: avertissement: répertoire non accessible en écriture dans le monde/Users/kristoffer dans PATH, mode 040777

1.6.2

Tout d'abord, je ne comprends pas ce que cela signifie./Utilisateurs/kristoffer n'est pas sur mon chemin selon echo $PATH. Le résultat de echo $PATH est:

/Users/kristoffer/.rvm/gems/Ruby-1.9.2-p180/bin:/Users/kristoffer/.rvm/gems/Ruby-1.9.2-p180@global/bin:/Users/kristoffer/.rvm/ rubis/Ruby-1.9.2-p180/bin: /Users/kristoffer/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/poubelle

Comme vous pouvez le voir, le CHEMIN est assez propre. Juste le chemin par défaut + ce que RVM a ajouté.

J'ai vu les autres articles similaires à celui-ci où la méthode recommandée pour résoudre le problème est d'exécuter chmod go-w path/to/folder

Cependant, je suis presque sûr que c'est une mauvaise idée de rendre mon dossier d'accueil non inscriptible, non? J'ai réparé les autorisations à l'aide de l'Utilitaire de disque et il n'a rien trouvé de mal avec les autorisations de mon dossier d'accueil.

Une idée de ce qu'est le problème et comment le résoudre?

56
kristofferR

Votre dossier personnel ne doit être accessible en écriture que par vous, et non par quelqu'un d'autre. La raison pour laquelle Gem se plaint de cela est que vous avez des dossiers dans votre PATH qui sont à l'intérieur de votre dossier d'accueil (non sécurisé), et cela signifie que toute personne qui le souhaite pourrait vous pirater en renommant/déplaçant votre dossier .rvm et en le remplaçant par un imposteur .

Pour corriger votre dossier personnel, exécutez chmod go-w /Users/kristoffer. S'il y a d'autres dossiers non sécurisés sur le chemin vers quelque chose dans votre PATH, vous devez les corriger de la même manière.

BTW, la raison pour laquelle l'Utilitaire de disque n'a pas réparé cela est qu'il ne répare que les fichiers installés dans le cadre du système d'exploitation (voir article KB d'Apple sur le sujet ). Il existe une option pour réparer les autorisations du dossier de départ si vous démarrez à partir du DVD d'installation et exécutez la réinitialisation du mot de passe dans le menu Utilitaires, mais je ne suis pas sûr qu'il réinitialise les autorisations elles-mêmes ou simplement la propriété.

102
Gordon Davisson

Je n'arrêtais pas d'obtenir cela dans mon invite.

enter image description here

Je n'ai pas pu faire les choses correctement avec mon invite de commande, mais cela a fini par fonctionner.

enter image description here

11
Michael J. Calkins

Récemment, cela m'est arrivé et cela a à voir avec un bogue dans la mise à niveau vers Mac OSX 10.9.3. Il semble que la mise à niveau modifie les autorisations dans le dossier utilisateur. Voici une explication et un correctif:

http://derflounder.wordpress.com/2014/05/16/users-folder-being-hidden-with-iTunes-11-2-installed-and-find-my-mac-enabled/ =

5
andrewmarkle
chmod 755 /Users/<username>

Devrait résoudre le problème ...

4
Gabriel Reiser

J'ai trouvé une solution. Comme user2952657, j'ai reçu cet avertissement avec vagrant après la mise à niveau vers OSX 10.9.3. La mise à jour d'iTunes vers 11.2.1 était tout ce que je devais faire pour que l'avertissement s'arrête.

1
esod

il indique que le répertoire Users/username n'est pas sécurisé, vous pouvez corriger cela en exécutant Sudo chmod go-w Users/username

1
batman