peringatan: Dir / usr / local / bin yang dapat ditulis dengan dunia tidak aman di PATH, mode 040777

172

Setiap kali saya menjalankan perintah ini rails server:

peringatan: Dir / usr / local / bin yang dapat ditulis dengan dunia tidak aman di PATH, mode 040777

Saya mencari solusi di sini dan mereka berkata untuk mengetik: chmod go-w /usr/local/bin

Tapi saya mendapatkan kesalahan ini:

chmod: Tidak dapat mengubah mode file di / usr / local / bin: Operasi tidak diizinkan

Saya menggunakan OS X by the way.

Xandman
sumber
7
Saya memiliki masalah yang sama setelah menginstal perangkat lunak untuk dongle USB broadband T-Mobile dan bertanya-tanya apakah itu bertanggung jawab untuk melakukannya. Apakah Anda kebetulan juga menggunakan dongle?
Peter Nixey
5
Ya saya mendapatkannya setelah menginstal dongle USB seluler Virgin (Australia)
nocache
3
OMG, benarkah? Terima kasih atas informasi ini! Saya juga memperhatikan bahwa setelah saya mencoba menjalankan perangkat lunak dongle T-Mobile, itu adalah izin saya.
Oto Brglez
Saya menggunakan dongle LTE oleh AU (operator Jepang) yang juga membutuhkan beberapa command line wizardry untuk mulai bekerja ...
Nicolas Miari

Jawaban:

278

Anda harus memiliki akses root untuk melakukan ini. Jika Anda belum menjadi pengguna administratif, login sebagai administrator. Kemudian gunakan 'sudo' untuk mengubah izin:

sudo chmod go-w /usr/local/bin

Jelas, itu berarti Anda tidak dapat lagi menginstal materi di / usr / local / bin kecuali melalui 'sudo', tetapi Anda mungkin tidak seharusnya melakukan itu.

Jonathan Leffler
sumber
jika saya mengetik perintah di atas, saya mendapatkan: sudo: / etc / sudoers adalah mode 0644, seharusnya 0440 Kesalahan segmentasi
Xandman
@ Xandman: Saya tidak tahu ada apa dengan kesalahan segmentasi; program tidak boleh melakukan itu (terutama yang terkait dengan keamanan seperti sudo). Jelas, seseorang telah merusak izin file pada sistem Anda - Saya sarankan membaca mereka tindakan kerusuhan. Sementara itu, Anda mungkin dihadapkan dengan situasi ayam dan telur; Anda tidak dapat menggunakan 'sudo' hingga Anda memperbaiki izin di / etc / sudoers, dan Anda tidak dapat memperbaiki izin di / etc / sudoers tanpa menggunakan 'sudo'. Saya tidak yakin apa perbaikan terbaik adalah ...
Jonathan Leffler
1
Kurasa aku harus gantung diri. Sudah bermain-main dengan MAC saya sejak saya beralih dari windows. Mencoba membuat ini laptop windows. Saya mungkin melakukan sesuatu yang bodoh
Xandman
1
Terima kasih atas komentar Jonathan, Anda memberi saya ide untuk memeriksa izin. Saya memperbaiki izin dengan Disk Utility dan ketika saya menjalankan perintah: sudo chmod go-w / usr / local / bin itu tidak akan melalui.
Xandman
@Xandman: Tidak perlu digantung sampai Anda membuktikan diri Anda sebagai pelanggar berulang. Anda mengatakan "itu tidak akan melalui" - dengan cara apa itu tidak berfungsi? Dengan 'sudo', Anda memberikan kata sandi Anda sendiri (dengan 'su', Anda memberikan kata sandi dari target pengguna - root, biasanya). Untuk mengatasinya, Anda mungkin perlu mengaktifkan login root (System Preferences sebagai administrator, IIRC), dan pergi perbaiki izin sebagai root. Itu mengasumsikan Anda sekarang tahu cukup untuk tidak gantung diri secara tidak sengaja. Atau mungkin lebih baik untuk mengulang instalasi dari awal; tergantung seberapa besar Anda memodifikasi izin.
Jonathan Leffler
63

Saya memiliki kesalahan yang sama di sini MacOSX 10.6.8 - tampaknya memeriksa untuk melihat apakah ada direktori (termasuk orang tua) di jalan yang dapat ditulis dunia. Dalam kasus saya, tidak ada / usr / local / bin yang tidak ada yang membuatnya.

jadi saya harus melakukannya

sudo chmod 775 /usr/local

untuk menghilangkan peringatan itu.

Sebuah pertanyaan di sini adalah apakah ada proses non root: roda di MacOS perlu membuat sesuatu di / usr / local?

Peter
sumber
9
Ya,775 => root(7) group(7) others(5), 7 => read(4) + write(2) + execute(1), and 5 => read(4) + execute(1)
crizCraig
8

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

Direktori / usr / local / bin dimiliki oleh rootakun (yaitu administrator), jadi meskipun Anda dapat menulisnya, Anda tidak dapat mengubah izin di atasnya. The sudoberarti perintah "jalankan perintah berikut sebagai root", dan bekerja banyak seperti mengklik ikon kunci dalam Preferences dialog System.

Jander
sumber
7

Saya memiliki masalah yang sama di OSX. Itu dapat diperbaiki dengan menjalankan Disk Utilities untuk Memperbaiki Izin. Saya setuju dengan Peter Nixey: dalam kasus saya ini disebabkan ketika dongle 3G saya menginstal atau menginstal ulang drivernya. Memperbaiki Izin sesudahnya memperbaiki masalah.

Larry Hynes
sumber
7

Saya menggunakan Mountain Lion. Apa yang saya lakukan adalah Mencari / usr / lokal dan Dapatkan Info. Di sana ada Berbagi dan Izin. Pastikan bahwa hanya pengguna dan Admin yang memiliki izin baca dan tulis. Orang lain seharusnya hanya memiliki akses baca. Itu memilah masalah saya.

Yang biasanya bermanfaat adalah utilitas Run disk Anda dan juga izin perbaikan.

Muendo
sumber
3

Sama di sini, ternyata folder / usr / local saya bisa ditulis oleh dunia jadi saya membuatnya 755

# chmod 755 /usr/local

Tampaknya juga dongle seluler Hauwei yang saya gunakan telah menginstal direktori dunia yang dapat ditulis di / usr / local juga

Tuan P
sumber
3

Jika Anda menjalankan OSX dan sering melakukannya, hal lain yang baik untuk dipertimbangkan adalah menggunakan alat perbaikan izin OSX bawaan. Jika Anda tidak mengubah mode direktori Anda, ada yang lain dan ada kemungkinan direktori lain juga memiliki izin yang terlalu besar - alat ini akan mengatur ulang semua kembali ke default pabrik, yang merupakan ide keamanan yang bagus. Ada panduan hebat tentang stackextange Apple tentang proses ini .

Kyle Hotchkiss
sumber
3

Anda harus berlari

sudo chmod o-w -R /usr/local 
Jai Kumar Rajput
sumber
2
bagi saya -R harus langsung setelah chmodsudo chmod -R o-w /usr/local/
bormat
2

Bahkan saya menemukan masalah serupa. Saya menggunakan KDE di ubuntu 12 dan ketika bermain-main di folder rumah saya, saya secara tidak sengaja mengubah izin untuk Grup dan Lainnya sebagai "dapat melihat dan memodifikasi konten" dengan mengklik kanan di folder rumah saya dan kemudian properti dan lupa semua tentang hal itu.

Peringatan saya adalah:

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

Jadi dalam kasus saya itu adalah folder rumah. Saya melakukan undi modifikasi izin dan saya berhenti mendapatkan peringatan itu ketika menjalankan server rel atau menyapu tugas untuk menjalankan tes saya.

Bahtera
sumber
1

Saya juga mengalami masalah yang sama persis dengan / usr / local / bin dan / etc / sudoers pada OSX Snow lepard. Bahkan ketika saya login sebagai admin dan mencoba mengubah izin melalui terminal, masih tertulis "Operasi tidak diizinkan ". Dan saya melakukan yang berikut untuk mendapatkan izin dari folder ini.

Dari terminal, saya mengakses file / etc / sudoers dan menggunakan pico editor saya menambahkan kode berikut: username ALL = (ALL) ALL Ganti "username" dengan nama akun MAC OS Anda

Sayanee
sumber
0

Saya memiliki kesalahan yang sama di sini MacOSX 10.11 - sepertinya memeriksa untuk melihat apakah ada direktori (termasuk orang tua) di jalan yang dapat ditulis dunia. Dalam kasus saya, tidak ada / usr / local / bin yang tidak ada yang membuatnya.

Jalankan perintah ini di terminal Anda. Coba ini sudo chmod 775 / usr / local Setelah ini jika Anda memiliki kata sandi pada mac Anda, maka Anda harus memasukkan kata sandi. Sekarang masalah ini akan diperbaiki.

Mandeep Singh
sumber
0

Ini harus menyelesaikan masalah Anda: chmod go-w {/path/of/user}

aphexlog
sumber