Saya baru-baru ini ingin menggunakan pod untuk memperbarui jalur kerangka kerja.
Cocoapods diinstal dan dapat ditemukan di sini:
/usr/local/bin/
Tapi kejutan! Ini diatur ke akses hanya root:
ls -l / usr / local drwx ------ tempat sampah 504 / staf drwxr-xr-x @ john termasuk / drwxr-xr-x @ john staff lib / share roda drwxr-xr-x root /
Jadi saya tidak bisa menggunakan pod karena:
- pod menginstal ranah
heeeyy Bung, Anda tidak dapat mengakses pod karena Anda tidak root.!
- sudo pod instal ranah
heeeyy kawan, kamu tidak bisa menggunakan pod sebagai root! .!
Saya merasa bahwa folder ini tidak boleh ditetapkan sebagai 'root saja' karena:
- Itu ada di dalam PATH dari usr
- dapat menginstal pod di dalamnya?
- http://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/html/usr.html pada dasarnya mengatakan:
'/ usr / local' secara luas dianggap sebagai tempat yang baik untuk menjaga program yang dikompilasi sendiri atau pihak ketiga.
Saya tahu Linux bukan BSD tapi tetap saja, tidak terlalu berbeda
Akhirnya inilah pertanyaan saya:
- Saya mencari dan tidak ada pengguna dengan uid 504, apakah ini mencurigakan?
(Saya memeriksanya dengan "" dscacheutil -q pengguna | grep 504 "")
Apa yang dianggap sebagai hak dan pemilik pada folder?
Apakah ada seseorang yang memiliki masalah yang sama?
Adakah yang tahu mengapa ini terjadi?
Jawaban:
Pengaturan default untuk / usr / local ditampilkan di sini
ini berarti bahwa file dan direktori di bawah / usr / local hanya dapat dibuat oleh pengguna root misalkan saya / usr / local memiliki
Jadi direktori share Anda terlihat normal tetapi yang lain memiliki perubahan aneh
sertakan dan lib terlihat seperti Anda mengubah izin / usr / local sehingga Anda dapat menulis ke sana dan kemudian membuat dua direktori ini (Setup yang paling umum seperti menginstal Homebrew) (kita perlu melihat apa yang
ls -ld /usr/local
menunjukkan.Adapun bin pasti ada beberapa hal. Pertama, pengguna baru harus ditambahkan pada suatu waktu, pengguna normal (dibuat melalui System Preferences GUI mulai dari 501) misalnya saya adalah pengguna kedua dan jadi id saya adalah 502 dan kemudian direktori tersebut dibuat atau dicantumkan pada pengguna itu- atau direktori itu dibuat di tempat lain dan kemudian dipindahkan sebagai root ke tempat itu.
Secara terpisah izin direktori telah diubah oleh
chmod 700
Jadi pengaturan yang benar adalah sebagai per / usr / local / share kecuali jika Anda menggunakan Homebrew di instal default dan kemudian mereka harus seperti / usr / local / include
sumber
ls -ld /usr/local
pertunjukan Homebrew.drwxr-xr-x root wheel /usr/local/
Terima kasih!Folder / usr dilindungi oleh System Integrity Protection (SIP) dan dimiliki oleh root, seperti semua isinya, dengan pengecualian tunggal dari / usr / local (dan subdirektori).
Pengguna root adalah uid 0, bukan 504. Seri 500 harus berupa akun yang dibuat pengguna atau aplikasi. / usr / local / bin pada sistem saya dimiliki oleh nama pengguna saya "tubedogg" di grup "admin", dan telah
drwxrwxr-x
sebagai izin.sumber
Itu
/usr/local/
sendiri milikroot wheel
saya. Tetapi semua folder yang mungkin Anda gunakan sebagai pengguna podbin include etc lib opt share var
dimiliki oleh pengguna dan grup admin saya.Untuk mengubah kepemilikan folder dan file di dalamnya jalankan:
sudo chown -R john:staff /usr/local/bin chmod -R 755 /usr/local/bin
sumber