cảnh báo: Không an toàn có thể ghi dir / usr / local / bin trong PATH, chế độ 040777


172

Mỗi khi tôi chạy lệnh này rails server:

cảnh báo: Không an toàn có thể ghi dir / usr / local / bin trong PATH, chế độ 040777

Tôi đã tìm kiếm một giải pháp ở đây và họ nói: chmod go-w /usr/local/bin

Nhưng tôi nhận được lỗi này:

chmod: Không thể thay đổi chế độ tập tin trên / usr / local / bin: Không được phép thao tác

Tôi đang sử dụng OS X.


7
Tôi đã gặp vấn đề tương tự ngay sau khi cài đặt phần mềm cho dongle băng thông rộng T-Mobile và tự hỏi liệu nó có chịu trách nhiệm thực hiện hay không. Bạn có bất kỳ cơ hội cũng sử dụng một dongle?
Peter Nixey

5
Có, tôi đã nhận được nó sau khi cài đặt một chiếc USB di động Virgin (Úc)
nocache

3
OMG, thật sao? Cảm ơn thông tin này! Tôi cũng nhận thấy rằng sau khi tôi thử chạy phần mềm dongle T-Mobile, nó cho phép tôi.
Oto Brglez

Tôi đang sử dụng một LTE LTE của AU (nhà mạng Nhật Bản) cũng yêu cầu một số thuật sĩ dòng lệnh để hoạt động ...
Nicolas Miari

Câu trả lời:


278

Bạn sẽ cần phải có quyền truy cập root để làm điều này. Nếu bạn chưa là người dùng quản trị, hãy đăng nhập với tư cách quản trị viên. Sau đó sử dụng 'sudo' để thay đổi quyền:

sudo chmod go-w /usr/local/bin

Rõ ràng, điều đó có nghĩa là bạn không còn có thể cài đặt tài liệu trong / usr / local / bin ngoại trừ thông qua 'sudo', nhưng có lẽ bạn không nên làm điều đó.


Nếu tôi gõ lệnh ở trên, tôi nhận được: sudo: / etc / sudoers là chế độ 0644, phải là 0440 Lỗi phân đoạn
Xandman

@Xandman: Tôi không biết điều gì xảy ra với lỗi phân khúc; các chương trình không nên làm điều đó (đặc biệt là những chương trình không liên quan đến bảo mật như sudo). Rõ ràng, ai đó đã can thiệp vào quyền truy cập tệp trên hệ thống của bạn - Tôi khuyên bạn nên đọc cho họ hành động bạo loạn. Trong lúc này, có lẽ bạn đang phải đối mặt với tình huống gà và trứng; bạn không thể sử dụng 'sudo' cho đến khi bạn sửa các quyền trên / etc / sudoers và bạn không thể sửa các quyền trên / etc / sudoers mà không sử dụng 'sudo'. Tôi không chắc cách khắc phục tốt nhất là ...
Jonathan Leffler

1
Tôi đoán tôi nên treo mình sau đó. Đã mày mò với MAC của tôi kể từ khi tôi chuyển từ windows. Đã thử để làm điều này một máy tính xách tay windows. Tôi có lẽ đã làm điều gì đó ngu ngốc
Xandman

1
Cảm ơn bình luận Jonathan, bạn đã cho tôi một ý tưởng để kiểm tra các quyền. Tôi đã sửa chữa các quyền với Disk Utility và khi tôi chạy lệnh: sudo chmod go-w / usr / local / bin thì nó sẽ không thông qua.
Xandman

@Xandman: Không cần treo cho đến khi bạn chứng tỏ mình là người vi phạm nhiều lần. Bạn nói "nó sẽ không đi qua" - nó không hoạt động theo cách nào? Với 'sudo', bạn cung cấp mật khẩu của riêng mình (với 'su', bạn cung cấp mật khẩu của người dùng đích - thông thường là root). Để sắp xếp một số thứ này, bạn có thể cần phải đăng nhập root (Tùy chọn hệ thống với tư cách quản trị viên, IIRC) và đi sửa quyền dưới dạng root. Điều đó không cho rằng bạn bây giờ biết đủ để không vô tình treo cổ. Hoặc có thể tốt hơn để làm lại cài đặt từ đầu; nó phụ thuộc vào mức độ bạn đã sửa đổi các quyền.
Jonathan Leffler

63

Tôi đã gặp lỗi tương tự ở đây MacOSX 10.6.8 - có vẻ như ruby ​​sẽ kiểm tra xem có thư mục nào (bao gồm cả cha mẹ) trong đường dẫn có thể ghi được không. Trong trường hợp của tôi, không có / usr / local / bin vì không có gì tạo ra nó.

vì vậy tôi phải làm

sudo chmod 775 /usr/local

để thoát khỏi cảnh báo.

Một câu hỏi ở đây là có bất kỳ quá trình không root: bánh xe trong MacOS cần tạo bất cứ thứ gì trong / usr / local không?


9
Vâng,775 => root(7) group(7) others(5), 7 => read(4) + write(2) + execute(1), and 5 => read(4) + execute(1)
crizCraig

8

Thử: sudo chmod go-w /usr/local/bin

Thư mục / usr / local / bin được sở hữu bởi roottài khoản (tức là quản trị viên), vì vậy ngay cả khi bạn có thể viết thư cho nó, bạn cũng không thể thay đổi các quyền trên đó. Các sudophương tiện lệnh "hãy chạy lệnh sau đây như là người chủ", và các công trình rất giống cách nhấn vào đó biểu tượng khóa trong hộp thoại System Preferences.


7

Tôi đã có vấn đề tương tự trong OSX. Nó có thể được sửa bằng cách chạy Disk Utility để Sửa quyền. Tôi đồng ý với Peter Nixey: trong trường hợp của tôi, điều này xảy ra khi dongle 3G của tôi cài đặt hoặc cài đặt lại trình điều khiển của nó. Sửa chữa Quyền sau đó khắc phục sự cố.


7

Đang sử dụng Sư tử núi. Những gì tôi đã làm là Tìm kiếm / usr / local và Nhận thông tin. Trên đó có Chia sẻ và Quyền. Đảm bảo rằng chỉ có người dùng và Quản trị viên là những người duy nhất có quyền đọc và viết. Bất cứ ai khác chỉ nên đọc quyền truy cập. Điều đó đã sắp xếp vấn đề của tôi.

Nó thường hữu ích là tiện ích đĩa Run của bạn và quyền sửa chữa quá.


3

Tương tự ở đây, rõ ràng thư mục / usr / local của tôi có thể ghi được trên thế giới nên tôi đã tạo nó 755

# chmod 755 /usr/local

Cũng có vẻ như một dongle điện thoại di động mà tôi đã sử dụng đã cài đặt các thư mục có thể ghi trên thế giới trong / usr / local


3

Nếu bạn đang chạy OSX và nhận được điều này thường xuyên, một điều tốt khác cần xem xét là sử dụng công cụ sửa lỗi quyền OSX tích hợp. Nếu bạn không thay đổi chế độ thư mục của mình, một số thứ khác đã làm và có khả năng các thư mục khác cũng có quyền quá mức - công cụ này sẽ đặt lại tất cả chúng về mặc định của nhà sản xuất, đó là một ý tưởng bảo mật tốt. Có một hướng dẫn tuyệt vời trên stackextange của Apple về chính quá trình này .


3

Bạn cần phải chạy

sudo chmod o-w -R /usr/local 

2
đối với tôi -R phải trực tiếp sau chmodsudo chmod -R o-w /usr/local/
bormat

2

Ngay cả tôi cũng gặp vấn đề tương tự. Tôi sử dụng KDE trên Ubuntu 12 và trong khi chơi xung quanh trong thư mục nhà của tôi, tôi đã vô tình thay đổi quyền cho Nhóm và những người khác là "có thể xem và sửa đổi nội dung" bằng cách nhấp chuột phải vào thư mục nhà của tôi và sau đó quên tất cả về nó.

Cảnh báo của tôi là:

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

Vì vậy, trong trường hợp của tôi đó là thư mục nhà. Tôi đã gỡ bỏ các sửa đổi của các quyền và tôi đã ngừng nhận các cảnh báo đó khi chạy máy chủ rails hoặc các tác vụ cào để chạy thử nghiệm của tôi.


1

Tôi cũng gặp vấn đề chính xác với cả / usr / local / bin và / etc / sudoers trên OSX Snow lepard. Ngay cả khi tôi đăng nhập với tư cách quản trị viên và cố gắng thay đổi quyền thông qua thiết bị đầu cuối, nó vẫn báo "Hoạt động không được phép ". Và tôi đã làm như sau để có được sự cho phép của các thư mục này.

Từ thiết bị đầu cuối, tôi đã truy cập tệp / etc / sudoers và sử dụng trình soạn thảo pico tôi đã thêm đoạn mã sau: tên người dùng ALL = (ALL) ALL Thay thế "tên người dùng" bằng tên tài khoản MAC OS của bạn


0

Tôi đã gặp lỗi tương tự ở đây MacOSX 10.11 - có vẻ như ruby ​​sẽ kiểm tra xem có thư mục nào (bao gồm cả cha mẹ) trong đường dẫn có thể ghi được không. Trong trường hợp của tôi, không có / usr / local / bin vì không có gì tạo ra nó.

Chạy lệnh này trong thiết bị đầu cuối của bạn. Hãy thử sudo chmod 775 / usr / local Sau này nếu bạn có bất kỳ mật khẩu nào trên máy Mac, thì bạn phải nhập mật khẩu. Bây giờ vấn đề này sẽ được khắc phục.


0

Điều này sẽ giải quyết vấn đề của bạn: chmod go-w {/path/of/user}

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.