Bagaimana cara mengubah secara berbagi / izin folder di Mac OS X

55

Apakah ada alat atau skrip Mac OS X yang memungkinkan saya mengubah properti berbagi / izin file dan subfolder dalam folder secara rekursif? Misalnya, untuk memungkinkan semua orang atau pengguna tertentu dapat membaca dan menulis, hanya membaca, atau hanya menulis.

puri
sumber

Jawaban:

75

Coba perintah chmod. Misalnya, jika Anda memiliki nama direktori mydir, perintah berikut akan memungkinkan baca / tulis untuk mydir itu secara rekursif.

$ chmod -R +rw mydir

Untuk informasi lebih lanjut:

$ man chmod
Hai Vu
sumber
19
Jawaban bagus, contoh buruk. Saat menambahkan akses baca dan / atau tulis ke folder, Anda juga perlu menambahkan akses eksekusi ("x", alias pencarian), atau r / w agak tidak berguna. Di sisi lain, Anda biasanya tidak ingin menambahkan eksekusi ke file. Saat melakukan perubahan rekursif, Anda beroperasi pada campuran file dan folder. Jawabannya adalah dengan menggunakan fitur "eksekusi pintar" (modal X) chmod: chmod -R +rwX mydirakan menambah eksekusi hanya ketika masuk akal.
Gordon Davisson
Gordon: Pengamatan yang bagus. Namun, direktori biasanya memiliki x menyala, kecuali jika pengguna melakukan sesuatu yang funky untuk mematikannya.
Hai Vu
1
Tergantung pada izin awal. Jika Anda melihat di folder beranda konfigurasi default Mac, misalnya, Anda akan melihat sebagian besar folder (Desktop, Dokumen, Perpustakaan, dll.) Pemilik memiliki akses penuh (rwx) ke segala sesuatu, tetapi grup dan yang lainnya tidak memiliki akses (tidak membaca, menulis, atau mengeksekusi). Jika Anda menambahkan baca atau tulis untuk grup atau orang lain ke salah satu folder ini, Anda juga perlu menambahkan eksekusi.
Gordon Davisson
1
Tidak berfungsi untuk saya, hanya berlaku untuk folder utama, bukan sub-folder.
delphirules
29

Pilih folder root yang ingin Anda kerjakan dan buka Inspektur (CMD-i atau klik kanan dan "Tampilkan Info"). Panel bawah adalah tempat Anda dapat mengelola izin.

Tambahkan dan hapus izin ke daftar di sana. Untuk menerapkan izin yang sama secara rekursif ke setiap subfolder, klik roda penggerak dan pilih "Terapkan ke Item Tertutup ..."

Catatan: Saya perhatikan bahwa "Terapkan ke Item Tertutup ..." berwarna abu-abu ketika ikon kunci kecil di sisi kanan bawah jendela dikunci. Jika demikian, cukup klik pada kunci untuk membukanya dengan memasukkan kredensial Anda dan kemudian coba lagi dengan "Terapkan ke Item Tertutup ..."

gregsabo
sumber
Meskipun secara umum bermanfaat, itu tidak akan memenuhi apa yang diminta. Itu menggantikan izin dalam subdirektori, alih-alih misalnya menambahkan pengguna ke semua dari mereka, tidak peduli apa izin sebelumnya.
Daniel Beck
@DanielBeck Anda salah, itu berlaku semua elemen izin, chmod dan chown ini adalah cara 'mac' yang benar untuk melakukannya
Rob
Saya baru saja mencoba jawaban ini (pada folder uji) dan tidak berfungsi dengan benar: karena folder biasanya 'dapat dieksekusi', bit itu juga ditetapkan pada semua file terlampir, yang salah. saya hanya ingin mengubah pengguna dan grup.
mengalir
12

Anda ingin menggunakan chmoddan chownperintah.

Jika saya ingat dengan benar, Anda dapat mengubah izin seperti ini:

chmod -R +a "joshhunt allow read" /some/file/or/folder/
chmod -R +a "Guest deny read" /some/other/folder/
chmod -R +a "Guest deny write" /some/other/folder/

Untuk lebih jelasnya, perintah ini, lihat halaman manual masing-masing di Terminal:

man chmod
man chown
Josh Hunt
sumber
1
Cara terbaik untuk ketika mencoba menentukan izin untuk pengguna tertentu
megalucio