ChatGPT解决这个技术问题 Extra ChatGPT

warning: Insecure world writable dir /usr/local/bin in PATH, mode 040777

Every time I run this command rails server:

warning: Insecure world writable dir /usr/local/bin in PATH, mode 040777

I searched for a solution here and they said to type: chmod go-w /usr/local/bin

But I get this error:

chmod: Unable to change file mode on /usr/local/bin: Operation not permitted

I am using OS X by the way.

I had the same problem just after installing the software for a T-Mobile broadband USB dongle and was wondering whether it was responsible for doing it. Are you by any chance also using a dongle?
Yes I got it after installing a Virgin (Australia) mobile USB dongle
OMG, really? Thanks for this information! I have also noticed that after I try to run T-Mobile dongle software it f* my permissions.
I am using an LTE dongle by AU (japanese carrier) which also requires some command line wizardry to get to work...

J
Jonathan Leffler

You will need to have root access to do this. If you aren't already the administrative user, login as the administrator. Then use 'sudo' to change the permissions:

sudo chmod go-w /usr/local/bin

Obviously, that will mean you can no longer install material in /usr/local/bin except via 'sudo', but you probably shouldn't be doing that anyway.


if I type the command above, I get: sudo: /etc/sudoers is mode 0644, should be 0440 Segmentation fault
@Xandman: I don't know what is up with the segmentation fault; programs should not do that (especially not security related ones like sudo). Clearly, someone has been tampering with file permissions on your system - I recommend reading them the riot act. In the mean time, you're probably faced with a chicken and egg situation; you can't use 'sudo' until you fix the permissions on /etc/sudoers, and you can't fix the permissions on /etc/sudoers without using 'sudo'. I'm not sure what the best fix is...
I guess I should hang myself then. Been tinkering with my MAC since I switched from windows. Tried to make this a windows laptop. I probably did something stupid
Thanks for the comment Jonathan, you gave me an idea to check the permissions. I repaired the permissions with Disk Utility and when I ran the command: sudo chmod go-w /usr/local/bin it won't through.
@Xandman: No need for the hanging until you've proven yourself to be a repeat offender. You say "it won't go through" - in what way is it not working? With 'sudo', you provide your own password (with 'su', you provide the password of the target user - root, typically). To sort some of this out, you may need to enable the root login (System Preferences as an administrator, IIRC), and go fix permissions as root. That does assume you now know enough not to hang yourself accidentally. Or it might be better to redo the installation from scratch; it depends how much you modified the permissions.
V
Victor Bjelkholm

I had the same error here MacOSX 10.6.8 - it seems ruby checks to see if any directory (including the parents) in the path are world writable. In my case there wasn't a /usr/local/bin present as nothing had created it.

so I had to do

sudo chmod 775 /usr/local

to get rid of the warning.

A question here is does any non root:wheel process in MacOS need to create anything in /usr/local ?


Yeah, 775 => root(7) group(7) others(5), 7 => read(4) + write(2) + execute(1), and 5 => read(4) + execute(1)
J
Jander

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

The /usr/local/bin directory is owned by the root (i.e. administrator) account, so even if you can write to it, you can't change the permissions on it. The sudo command means "run the following command as root", and works a lot like clicking that lock icon in the System Preferences dialogs.


L
Larry Hynes

I have had the same issue in OSX. It can be fixed by running Disk Utilities to Repair Permissions. I agree with Peter Nixey: in my case it is caused when my 3G dongle installs or reinstalls its driver. Repairing Permissions afterward fixes the issue.


M
Muendo

Am using Mountain Lion. What I did was Look for /usr/local and Get Info. On it there is Sharing and Permissions. Make sure that its only the user and Admin are the only ones who have read and write permissions. Anyone else should have read access only. That sorted my problem.

Its normally helpful is your Run disk utilities and repair permissions too.


M
Mister P

Same here, apparently my /usr/local folder was world writable so I made it 755

# chmod 755 /usr/local

It also appeared that a Hauwei mobile dongle I had used had installed world writeable directories in /usr/local as well


C
Community

If you're running OSX and getting this often, another good thing to consider is to use a built-in OSX permissions fixing tool. If you didn't change the mode of your directories, something else did and there's a chance that other directories have overgenerous permissions as well - this tool will reset them back all to factory defaults, which is a good security idea. There's a great guide on the Apple stackextange about this very process.


J
Jai Chauhan

You need to run

sudo chmod o-w -R /usr/local 

for me -R must be directly after chmod sudo chmod -R o-w /usr/local/
a
arkiver

Even I came across similar problem. I use KDE on ubuntu 12 and while playing around in my home folder I had accidently changed permissions for Group and Others as "can view and modify content" by right clicking in my home folder and then properties and forgot all about it.

My warning was:

warning: Insecure world writable dir /home/my_home_folder in PATH, mode 040777

So in my case it was the home folder. I did undid the modifications of permissions and I stopped getting those warnings when running the rails server or rake tasks to run my tests.


S
Sayanee

I'm also having the exact same problem with both /usr/local/bin and /etc/sudoers on OSX Snow lepard.Even when i logged in as admin and tried to change the permissions via the terminal, it still says "Operation not permitted". And i did the following to get the permission of these folders.

From the terminal, I accessed /etc/sudoers file and using pico editor i added the following code: username ALL=(ALL) ALL Replace "username" with your MAC OS account name


a
aphexlog

This should resolve your problem: chmod go-w {/path/of/user}


M
Mandeep Singh

I had the same error here MacOSX 10.11 - it seems ruby checks to see if any directory (including the parents) in the path are world writable. In my case there wasn't a /usr/local/bin present as nothing had created it.

Run this command in your terminal.Try this sudo chmod 775 /usr/local After this if you have any password on your mac , then you have to enter the password . Now this issue will be fix.