Kami baru saja mendapat iMac baru menggunakan /Users/Shared
direktori untuk menyimpan aset media (gambar, audio, video) yang kami inginkan dapat diakses oleh semua pengguna di mesin. Setelah menyalin semua file pada awalnya, kami mengatur izin yang diinginkan dan kemudian menerapkan izin yang sama untuk semua konten direktori secara rekursif. Ini berfungsi dengan baik, kecuali ketika seseorang membuat file atau direktori baru, itu tidak memiliki izin yang sama dan kami harus mengulangi seluruh proses izin sebelum semua orang dapat mengaksesnya.
Apakah ada cara kita dapat mengatur izin untuk semua file / direktori baru yang dibuat dalam direktori itu?
macos
permission
Daniel Standage
sumber
sumber
Jawaban:
Anda tidak dapat melakukan ini dengan izin gaya POSIX tradisional, tetapi Anda bisa dengan entri kontrol akses yang dapat diwarisi. Untuk mengizinkan akses baca + tulis untuk seluruh grup "staf" ke semua yang ada di / Pengguna / Dibagikan / benar-benar dibagi, Anda akan menggunakan:
Bagian ini
file_inherit,directory_inherit
berarti bahwa entri kontrol akses ini akan secara otomatis ditambahkan ke file & folder baru yang dibuat di dalam folder ini, tetapi itu tidak secara otomatis berlaku untuk item yang sudah ada di sana (itu sebabnya saya menambahkan-R
bendera kechmod
- yang berlaku untuk semua yang saat ini dalam folder), dan itu tidak akan diterapkan pada item yang dibuat di tempat lain dan kemudian pindah ke folder ini (saya tidak tahu cara mengatasinya, maaf).sumber
drwxr-xr-x+ 2 User staff 68 Dec 15 14:10 untitled folder
+ pada akhirnya berarti punya ACL diperpanjang diterapkan menggunakan perintah Anda di atas, tetapi Windows masih mengatakan izin ditolak jika saya mencoba menulis file ke folder ini. Hanyachmod g+w untitled\ folder
izinkan saya menulis untuk itu. Mungkin karena saya menginstal Samba untuk mengatasi implementasi SMB baru yang mengerikan dari OSX.nt acl support = no
ke[Global]
bagian /etc/smb.conf, tapi saya tidak yakin itu masih relevan dalam versi samba yang terkini.Pendekatan lain adalah dengan menggunakan Terminal (alias shell atau command prompt) untuk membuat / mengedit (harus dilakukan sebagai super-user, lihat sudo) file:
/etc/launchd-user.conf
menambahkan baris:
umask 000
simpan dan reboot. File / folder baru (termasuk file yang diubah oleh simpan sebagai) akan memungkinkan semua orang membaca / menulis.
Ini berfungsi dengan mengubah izin pembuatan file default untuk program, sedangkan pendekatan ACL bekerja dalam hal aturan akses yang terikat pada file dan folder tertentu.
Tanpa perubahan ini, file dibuat memungkinkan pengguna: baca-tulis, grup & lainnya: hanya baca.
Jika Anda berbagi di antara banyak komputer, Anda perlu melakukan ini untuk semua komputer yang akan menggunakan pembagian tersebut.
Jika Anda memiliki file dan folder yang ada di area bersama, Anda harus membuatnya semua dapat dibaca / ditulis oleh semua orang menggunakan:
sudo chmod -R og+w <shared-folder-name>
Perintah membaca dalam bahasa Inggris sebagai mode perubahan, berulang melalui semua folder dan file, izin grup & lain menambahkan akses tulis, mulai dari folder dengan.
Pendekatan ini disebutkan dalam forum untuk bekerja setidaknya 10,6 dan masih bekerja pada 10,7.
Faktor-faktor lain masih memengaruhi akses ke konten. Misalnya, izin yang diatur di panel kontrol Berbagi, izin folder rumah / ACL, dan saat menggunakan Terminal, umask apa pun yang berlaku untuk shell.
Cari izin file umask dan Posixuntuk detail tentang konsep Unix ini. Dalam penulisan, direktori kata adalah Unix yang identik dengan folder. Anda juga akan menemukan istilah UID dan GID: ID pengguna dan grup, yang menentukan kepemilikan Posix dari program yang sedang berjalan (proses). Perhatikan bahwa UID dan GID adalah angka yang mungkin sama atau berbeda untuk nama pengguna tertentu di komputer yang berbeda. Angka-angka ini ditetapkan untuk nama dalam urutan akun yang dibuat pada komputer tertentu, biasanya dimulai dengan ID 501. Jaringan rumah tidak memiliki mekanisme untuk menyelaraskan penugasan ini di seluruh komputer. Oleh karena itu pada jaringan berbagi file mungkin tampak milik pengguna yang berbeda karena ID pengguna untuk pengikatan nama pengguna ditentukan dari perspektif komputer mengakses file. Jadi berbagi benar-benar selalu memungkinkan setiap orang untuk mengakses file ke berbagai tingkatan setiap orang. Dengan kata lain, izin "lain" Posix adalah batas tidak terbatas pada akses mulai dari memungkinkan tingkat akses yang cukup dapat diprediksi tetapi tampaknya tidak pasti tergantung pada ID pengguna yang ditetapkan pada komputer yang berbeda. Hal ini menyebabkan variasi pengalaman yang tampaknya tidak masuk akal, di mana pada beberapa jaringan, misalnya pengaturan dengan hanya satu akun pengguna yang pernah dibuat pada setiap Mac, akan dapat dibagikan tanpa izin tweak karena semua akun akan memiliki UID yang sama (501, tidak ada apa pun nama akunnya) sedangkan jaringan lain yang menggunakan beberapa akun pengguna per Mac akan langsung melihat masalah. Jadi beberapa kelompok tidak akan pernah berjuang dengan ini, sedangkan yang lain mungkin melihat masalah yang berkembang dari waktu ke waktu, atau masalah yang muncul / hilang secara spontan,
Ini adalah misteri mengapa Apple telah meninggalkan cacat kegunaan bernanah dalam konfigurasi seperti itu mudah untuk mengaktifkan kemampuan berbagi file.
Pada disk eksternal, masalah ini diatasi dengan opsi "Abaikan izin pada volume ini". Mungkin ada fitur serupa untuk berbagi file apel, tetapi di mana itu.
Jika Anda menjalankan konfigurasi layanan Samba sendiri, ada mekanisme lain untuk menangani masalah ini, tetapi Samba sama sekali tidak mudah digunakan.
sumber
launchctl
. Lihat support.apple.com/en-us/HT201684