I\'ve tried this but it didn\'t work and seemed to be for osx. I have a fresh Ubuntu 10.10 install with rvm, rails 3 and ruby 1.9.2. I have a fresh rails app but using eithe
You use the chmod go-w to whatever path the terminal gives you.
So if it says /usr/local as the path in the error message:
warning: Insecure world writable dir /usr/local in PATH, mode 040777
You write
chmod go-w /usr/local
I'm in a Mac, so /home/username did not work for me. However, when I tried to changing permissions for /User/username, the error persisted.
The thing that got it working was chmod go-w /User/username/.rvm
I had to use -R to fix mine:
chmod -R go-w /Users/username
If your environment does not allow you to fix this error properly (i.e. ruby lives on a network share or some such), see this answer for a way to suppress the error.
If you tried sudo chmod go-w /usr/local/bin
from the other answer, try:
chmod go-w /home/chance
instead.
What seems to have happened is that somehow your home directory (/home/chance
) has been added to your $PATH
(the list of directories the OS searches when trying to find an executable to launch) and has also had its permissions changed so that anyone can write to it. This is potential a security problem, as another user could put an executable into this directory which you could accidentally launch. Ruby notices this and issues the warning.
This command changes the permissions of the directory so that it is no longer world writable.
In unix, file permissions are specified for three categories, the file owner (user), the group of the file (group), and everyone else (other). (See Google for more on unix file permissions).
So breaking down the command above:
chmod
- change the 'mode' of the file (i.e. its permissions)
go
- for group(g) and others(o)
-w
- (minus w) remove write permission
/home/chance
- the file (or directory) in question
In the other answer the directory that was causing the problem was /usr/local/bin
, which is owned by root so sudo
is required to change permissions on it. /home/chance
is your home directory which is owned by the chance
user who can change permissions on it - no sudo
required.
(If you are in a Mac) Try the option "Repair Disk Permissions" from the disk utility
Probably a couple of lines in the details log will say:
Permissions differ on “usr”; should be drwxr-xr-x ; they are drwxrwxrwx.
Repaired “usr”