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.
ruby-on-rails
macos
permissions
rubygems
warnings
Xandman
sumber
sumber
Jawaban:
Anda harus memiliki akses root untuk melakukan ini. Jika Anda belum menjadi pengguna administratif, login sebagai administrator. Kemudian gunakan 'sudo' untuk mengubah izin:
Jelas, itu berarti Anda tidak dapat lagi menginstal materi di / usr / local / bin kecuali melalui 'sudo', tetapi Anda mungkin tidak seharusnya melakukan itu.
sumber
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
untuk menghilangkan peringatan itu.
Sebuah pertanyaan di sini adalah apakah ada proses non root: roda di MacOS perlu membuat sesuatu di / usr / local?
sumber
775 => root(7) group(7) others(5), 7 => read(4) + write(2) + execute(1), and 5 => read(4) + execute(1)
Mencoba:
sudo chmod go-w /usr/local/bin
Direktori / usr / local / bin dimiliki oleh
root
akun (yaitu administrator), jadi meskipun Anda dapat menulisnya, Anda tidak dapat mengubah izin di atasnya. Thesudo
berarti perintah "jalankan perintah berikut sebagai root", dan bekerja banyak seperti mengklik ikon kunci dalam Preferences dialog System.sumber
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.
sumber
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.
sumber
Sama di sini, ternyata folder / usr / local saya bisa ditulis oleh dunia jadi saya membuatnya 755
Tampaknya juga dongle seluler Hauwei yang saya gunakan telah menginstal direktori dunia yang dapat ditulis di / usr / local juga
sumber
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 .
sumber
Anda harus berlari
sumber
sudo chmod -R o-w /usr/local/
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:
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.
sumber
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
sumber
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.
sumber
Ini harus menyelesaikan masalah Anda:
chmod go-w {/path/of/user}
sumber