Ini seharusnya sederhana, tetapi saya tidak membuatnya bekerja dalam ujian.
Aplikasi torrent yang saya gunakan (berbasis CLI) belum memiliki kemampuan untuk mendefinisikan pengguna / grup / izin dari file yang diunduh. Ia juga menikmati pengaturan izin file dengan cara yang tidak dapat diubah banyak.
Saya ingin menggunakan set-uid dan set-group-id untuk menyelesaikan ini.
Diberi jalan seperti ini: / Volume / torrents / film
Saya ingin direktori "film" untuk memungkinkan semua pengguna pada sistem akses penuh baca dan tulis. File seharusnya tidak dapat dieksekusi, tetapi tentu saja, direktori perlu untuk membuka cd ke dalamnya. Saya percaya semua pengguna pada sistem ini, meskipun saya akan menahan diri dari mengeksekusi bit pada file untuk mencegah kesalahan yang tidak disengaja.
Apa pun yang disimpan / disimpan dalam "film" harus mewarisi pengguna / grup / izin film, dan mengalir ke semua sub direktori dan file. Dengan ini, saya tidak perlu khawatir tentang kurangnya fitur pengaturan izin aplikasi. Jika film diatur ke rw untuk foo: bar dan pengguna the_user datang dan meletakkan file dalam film, saya berharap file menjadi rw foo: bar.
Terima kasih. Saya sudah mencoba beberapa cara berbeda, dan saya akan gagal. Saya jarang menggunakan set-uid dan set-group-id atau bit sticky.
sumber
Jawaban:
Yang paling bisa Anda lakukan adalah membuat direktori setgid, yang akan membuat file dan direktori yang dibuat di dalamnya memperoleh pemilik grup dari direktori. Namun, bit setgid tidak akan diwarisi, yang berarti bahwa apa pun di luar lapisan pertama tidak akan memiliki kepemilikan grup yang diterapkan. Satu-satunya cara untuk mengatasi ini adalah dengan menggunakan cron atau incron untuk menerapkan perubahan izin yang sesuai.
sumber
Saya menduga berdasarkan pertanyaan Anda sebelumnya dan folder "/ Volume" yang Anda sebutkan bahwa Anda menggunakan Mac OS X.
Saya mendapat tip dari artikel ini yang menunjukkan cara membuat AppleScript dan melampirkannya sebagai tindakan folder yang menetapkan izin pada semua file yang jatuh ke folder. Ini skrip yang saya uji sekarang:
Ketik ini ke dalam AppleScript Editor kemudian simpan di / Library / Scripts / Folder Actions Scripts. Kemudian klik kanan pada folder dan pilih "Folder Actions Setup ..." (atau "Attach a Folder Action" untuk Leopard atau yang lebih lama). Lampirkan skrip Anda, dan ujilah. Letakkan item ke dalam folder dan itu harus secara rekursif chmod segalanya untuk memungkinkan baca / tulis untuk semua orang.
Ini berfungsi jika Anda memasukkan sesuatu secara langsung ke folder, termasuk folder lain: semua konten secara rekursif diperbarui. Namun, jika Anda menjatuhkan file ke subfolder yang sudah ada, maka tindakan folder tidak dipanggil. Saya belum menemukan cara untuk memperbaikinya.
sumber
Halaman Wikipedia yang ditautkan dalam jawaban lain memang bertentangan dengan jawaban itu sendiri: bit set-GID biasanya diwarisi. Ini tentu benar di Linux, dan saya percaya pada Solaris. Namun, itu tampaknya tidak benar pada Mac OS X. Halaman manual tampaknya berbicara lebih banyak tentang ACL daripada izin normal, jadi mungkin Anda akan beruntung dengan izin file_inherity dan directory_inherit dalam kombinasi dengan yang tradisional.
sumber