Bagaimana cara memaksa izin khusus untuk file / folder baru di server file Linux?

14

Saya mengalami masalah dengan pemasangan Ubuntu 9,10 (server file) dan izin samba-nya. Masuk dan membaca berfungsi dengan baik. Namun, pembuatan direktori baru oleh pengguna membatasi akses untuk pengguna lain. Misalnya, jika Bob (pengguna Windows yang memetakan drive) membuat folder di direktori, Jane (pengguna Mac yang hanya memasang mount) dapat membaca darinya, tetapi tidak dapat menulis ke sana - dan sebaliknya. Saya kemudian harus pergi CHMOD 777 direktori untuk semua orang menjadi bahagia. Saya sudah mencoba mengedit opsi "buat / direktori topeng", dan "paksa" dalam file smb.conf tetapi ini sepertinya tidak membantu.

Saya akan menggunakan CRONTAB rutin chmod rekursif, meskipun saya yakin ini bukan perbaikannya. Bagaimana cara saya mendapatkan semua item baru menjadi 777? Adakah yang punya saran untuk memperbaiki situasi yang selalu terjadi ini?

Terbaik

humble_coder
sumber
Grup pengguna dan izin asli lainnya, jangan chmod 777.
Warner

Jawaban:

13

Saya biasanya menggunakan fungsi asli SAMBA untuk izin dan manajemen grup pada saham. Sebagai contoh..

force user=user1
force group=sharedgroup
create mask=775

Anda akan menentukan pengaturan ini di bawah pembagian. Pastikan untuk memuat ulang SAMBA setelah perubahan konfigurasi, yang dapat dilakukan melalui skrip init.

Warner
sumber
1
Namun pos mengatakan dia melakukan itu dan itu tidak berhasil ....
Mistiry
2
Lalu dia melakukan kesalahan. Berhasil.
Warner
Saya tidak yakin ada apa. Saya sudah mencobanya secara manual dan via Webmin tetapi tidak berhasil. Mungkin pilihan grup saya salah? Saya sudah mencoba menggunakan "pengguna" serta berbagai grup yang dibuat secara manual, yang semuanya telah menjadi anggota. Apa pun yang saya lakukan, pengguna tidak dapat memanipulasi apa pun yang tidak mereka tempatkan. Satu-satunya "solusi" adalah membuat semua pengguna masuk (atau mount) sebagai TAMU yang menghasilkan kebingungan.
humble_coder
SAMBA menggunakan kombinasi izin sistem file dan pengaturan dalam konfigurasi. Jika pengguna tidak pada write listatau diizinkan menulis dalam konfigurasi berbagi, itu tidak akan berfungsi. Jika pengguna yang menjalankan SAMBA tidak dapat mengakses direktori, itu tidak akan berfungsi. Pengguna harus menjadi anggota grup yang sesuai, direktori dan file harus dimiliki oleh grup itu, dan memiliki bit yang dapat ditulis untuk grup. Anda dapat memeriksa log SAMBA juga.
Warner
2
Saya sudah lama mencari ini! Terima kasih! :) Ini bekerja seperti yang diharapkan.
NagyI
2

Atur izin pada direktori menjadi 2777, seperti ini:

chmod 2777 /shared/dir

Ini menyebabkan semua file dan folder di bawah direktori '/ shared / dir' mewarisi izin direktori teratas, dalam hal ini 777.

Setelah itu, lakukan ini untuk memastikan semua file memiliki izin yang tepat:

chmod -R 777 /shared/dir
Mistiry
sumber
Tentang satu-satunya situasi di mana tulisan publik dapat diterima adalah dengan /tmp.
Warner
1
Ya, mungkin lebih baik menggunakan 774 atau bahkan 770, tergantung situasinya. Tapi, dia bertanya bagaimana membuat semuanya '777', jadi saya hanya menggunakan itu dalam contoh saya.
Mistiry
3
Ya, tetapi bagaimana saya memastikan bahwa semua file di masa depan disalin ke direktori itu melalui jaringan menerima izin yang sama terlepas dari izin awal mereka? Saya tidak punya masalah ketika melakukannya secara manual, saya hanya ingin itu otomatis.
humble_coder
2
Ini tidak bekerja. Bendera setgid untuk folder menetapkan grup file dan folder baru, bukan izin, dan menjalankan chmod sepanjang waktu tidak dapat diterima. Saya membutuhkan solusi yang tidak terkait dengan samba, untuk Steam di Linux sehingga saya dapat berbagi perpustakaan antara pengguna.
Sam Watkins
2

Saya menyadari ini adalah pertanyaan lama tetapi saya baru-baru ini memiliki masalah yang sama dan inilah cara saya menyelesaikannya:

[Bagikan]
topeng keamanan = 0770
buat topeng = 0770
paksa buat mode = 0660
comment = Samba bagi IT
path = / raid / share
browseable = YA
tamu baik-baik saja = tidak
tulis daftar = root, @ "DOMAIN + it_nfs"
kelompok paksa = DOMAIN + it_nfs

Ini memastikan bahwa pengguna harus berada dalam grup keamanan "it_nfs" dalam AD, semua file akan ditulis dengan grup "it_nfs," dan semua file akan ditulis dengan setidaknya 0660 dan paling banyak 0770 perms. Memaksa ID grup memastikan bahwa siapa pun dalam grup itu dapat membaca / menulis file di share. Kalau tidak, Anda berakhir dengan situasi di mana file yang ditulis sebagai bob: bob tidak dapat ditulis oleh charlie: charlie, meskipun keduanya berada di "it_nfs".

Evan
sumber
0

Dari komentar dari jawaban yang diterima, itu sebenarnya tidak menyelesaikan masalah OP, dan juga tidak ada jawaban lain, jika OP memiliki masalah yang sama seperti saya:

Memiliki pembagian di partisi NTFS / FAT.

Ingat ini ketika mencolokkan disk desktop Anda ke NAS untuk membagikan album keluarga Anda: fs pasang params untuk pengguna, grup, buat mode, dll. Timpa apa pun yang dikonfigurasikan untuk Samba! ;)

(Misalnya dalam kasus saya, terlepas dari smb.confsegala sesuatu diciptakan oleh root, dengan 777- sesuai fstab defaultsuntuk mount sekering NTFS ...)

Sz.
sumber