Apa artinya dan bagaimana cara memperbaikinya?
zsh compinit: insecure directories, run compaudit for list.
Ignore insecure directories and continue [y] or abort compinit [n]?
Menjalankan compaudit
pengembalian sebagai berikut:
There are insecure directories:
/usr/local/share/zsh/site-functions
zsh
zsh-completion
Alex
sumber
sumber
Jawaban:
Ini memperbaikinya untuk saya:
Kredit: posting di milis zsh
EDIT: Seperti yang ditunjukkan oleh @biocyberman dalam komentar. Anda mungkin perlu memperbarui pemilik
site-functions
juga:Di komputer saya (OSX 10.9), saya tidak perlu melakukan ini selain YMMV.
EDIT2: Pada OSX 10.11, hanya ini yang berfungsi:
Juga pengguna: staf adalah izin default yang benar di OSX.
sumber
.zshenv
dan.zshrc
untuk menggunakan folder baru dan lakukan hal yang samachmod
pada folder baru seperti yang saya posting dengan folder.chmod
perintah menjadisudo chmod -R go-w zsh
./usr/local/share/zsh/site-functions
untuk/usr/local/Cellar
dan haruschown -R root:staff /usr/local/Cellar
juga sebelum ini bekerja.akan melakukan triknya, lihat http://www.wezm.net/technical/2008/09/zsh-cygwin-and-insecure-directories/
sumber
compaudit
dapat digunakan untuk mendiagnosis masalah seperti ini dan juga memperbaikinya.compaudit | xargs chown root
compaudit | xargs chmod g-w
bersama denganompaudit | xargs chown root
bekerja untuk saya juga dan tampaknya membuat HomeBrew bahagia. dapatkah seseorang menjelaskan apa yang terjadi sedikit lebih banyak.Sebagian besar jawaban datang dengan solusi, tetapi tidak menyebutkan mengapa peringatan ini terjadi. Berikut kutipan dari ZSH's compinit :
Oleh karena itu, solusinya menyiratkan memperbaiki satu (atau semua) dari yang berikut:
mengatur pengguna saat ini sebagai pemilik semua direktori / subdirektori / file yang menyebabkan:
menghapus izin menulis untuk grup / orang lain untuk file yang menyebabkan:
Pendekatan lain adalah melewatkan pemeriksaan ini dengan menggunakan
tapi saya tidak benar-benar menyarankan ini, karena menyembunyikan masalah di bawah permadani hanya memecahkan masalah dalam jangka pendek.
sumber
chown -R "$(whoami)"
untuk file di luar direktori home seperti/usr/local/
tidak akan berfungsi. Menurut dokumen, bukankah lebih masuk akal untuk membuat file menjadi milik root?Saya mendapat peringatan yang sama ketika saya
sudo -i
memulai shell root, solusi @ chakrit tidak bekerja untuk saya.Tetapi saya menemukan
-u
pergantiancompinit
karya, misalnya di .zshrc / zshenv Anda atau di mana Anda meneleponcompinit
NB: Tidak direkomendasikan untuk sistem produksi
Lihat juga http://zsh.sourceforge.net/Doc/Release/Completion-System.html#Initialization
sumber
Ini berfungsi untuk Mac saya setelah pembaruan ke High Sierra.
Hapus akses tulis grup:
Yang terbaik untuk menjaga perubahan terbatas pada direktori zsh.
sumber
Jawaban yang diterima tidak bekerja untuk saya di macOs Sierra (10.12.1). Harus melakukannya secara rekursif dari / usr / local
Catatan: Anda bisa mendapatkan nama pengguna
whoami
dan grup Andaid -g
sumber
Dua baris ini telah diperbaiki untuk saya.
sumber
sudo chown -R $(whoami):root /usr/local/share/zsh
sudo chown -R $(whoami):root /usr/local/share/zsh/*
Di macOS Sierra, Anda perlu menjalankan:
sudo chown -R $(whoami):staff /usr/local
sumber
Saya memperbaikinya dengan melakukan
dalam kasus saya direktori lain di dalam share / juga mempunyai grup "staff" yang ditugaskan
sumber
pada Mojave, ini berhasil:
sudo chmod go-w /usr/local/share
sumber
sudo chmod -R go-w /usr/local/share
Saran saya adalah menjalankan compaudit dan kemudian hanya memperbaiki izin pada direktori yang ditemukan oleh audit. Pastikan direktori yang diidentifikasi tidak memiliki izin menulis untuk grup atau lainnya.
sumber
Ini adalah satu-satunya hal yang berhasil bagi saya dari https://github.com/zsh-users/zsh-completions/issues/433#issuecomment-600582607 . Terima kasih https://github.com/malaquiasdev !
sumber
Mesin saya:
Jadi inilah yang saya lakukan,
jalankan
compaudit
dan itu akan memberi Anda daftar direktori yang dianggapnya tidak aman.jalankan
sudo chmod -R 755 target_directory
(contohsudo chmod -R 755 /usr/local/share/zsh
:)Exmaple:
pengembalian:
jadi saya lari
baca lebih lanjut di sini tautan
sumber
Pagi ini, beberapa paket di sistem saya diperbarui, dan meninggalkan saya dengan pesan kesalahan ini. Saya menggunakan Ubuntu 18.04.
Rupanya, sesuatu dalam pembaruan mengubah nama pengguna dan grup menjadi angka, dan bukannya
root
sebagai berikut:Saya hanya mengubah pengguna dan grup untuk file ini kembali
root
dan masalahnya hilang. Saya tidak perlu mengubah izin apa pun, dan akan berhati-hati agar tidak melakukannya kecuali jika penyebab mendasar masalahnya dipahami.sudo chown root _code && sudo chgrp root _code
Setelah beralih
131
dan142
kembali keroot
, pesan kesalahan ini dari zsh hilang.sumber
jalankan
compaudit
dan itu akan memberi Anda daftar direktori yang dianggapnya tidak amansudo chown -R username:root target_directory
sudo chmod -R 755 target_directory
sumber
Saya mendapat peringatan yang sama akhir-akhir ini di Catalina. Solusi mudah adalah dengan meletakkan ini di atas .zshrc Anda
sumber
Tidak ada solusi yang terdaftar yang berfungsi untuk saya. Sebaliknya, saya akhirnya mencopot dan menginstal ulang Homebrew, yang berhasil. Uninstal petunjuk dapat ditemukan di sini: http://osxdaily.com/2018/08/12/how-uninstall-homebrew-mac/
sumber
menjalankan perintah ini bekerja untuk saya di
mac OS Catalina
:compaudit | xargs chmod g-w,o-w
sumber
Solusi MAC OS X:
Juga "pengguna: staf = pengguna root default di OSX.
sumber
Saya mendapatkan masalah ini setelah menjalankan
google-cloud-sdk
skrip instalasi, yang menambahkan penyelesaian perintah ke shell melalui entri di.zshrc
.Mengikuti instruksi Homebrew untuk mengkonfigurasi penyelesaian di zsh sangat membantu.
sumber