Berbagi Samba hanya baca untuk tamu, baca tulis untuk pengguna yang diautentikasi

18

Apakah mungkin untuk membuat pangsa samba hanya dibaca untuk tamu, dan baca tulis untuk pengguna yang diautentikasi?

Jika saya meletakkan guest ok di share maka saya tidak diminta untuk kata sandi, dan secara efektif login sebagai tamu dengan hak baca saja. Tetapi saya ingin diautentikasi sehingga saya juga bisa menulis.

Adakah yang bisa memberikan bait contoh seseorang untuk mencapai ini?

yannisf
sumber

Jawaban:

18

Edit /etc/samba/smb.conf

# command line
sudo -e /etc/samba/smb.conf

# graphical
gksu gedit /etc/samba/smb.conf

Tambahkan write listparamter ke definisi share Anda, tambahkan daftar pengguna yang diizinkan menulis.

write list = user1 user2 user3

Anda bisa menggunakannya read listjuga

read list = guest, nobody

Jadi ...

[share]
comment = Ubuntu Share
path = /your/samba/share
browsable = yes
guest ok = yes
read only = yes
write list = user1 user2 user3
create mask = 0755

Jika Anda membutuhkan butir kontrol yang lebih baik, Anda dapat menggunakan acl (daftar kontrol akses) di server.

Harimau kumbang
sumber
2
Itu tidak bekerja:lp_bool(guest nobody): value is not boolean!
reox
1
jawaban ini salah. read onlybisa hanya yesatau no, tidak dapat memiliki nama pengguna atau grup sebagai nilainya.
SDK
Saya mencoba setting read onlyuntuk guest nobodyseperti yang disarankan, tetapi semua itu adalah menghapus akses tamu untuk berbagi saya sama sekali, seolah-olah guest oktelah no. Menggunakan write listbekerja seperti pesona, hanya memalukan saya harus memperbaruinya untuk setiap pengguna baru yang saya tambahkan.
Hubro
9

Parameter hanya baca adalah nilai Boolean, jadi ini harus lebih seperti salah satu dari berikut ini:

[share]
comment = Ubuntu Share
path = /your/samba/share
browsable = yes
guest ok = yes
read only = no
read list = guest nobody
write list = user1 user2 user3
create mask = 0755

[share]
comment = Ubuntu Share
path = /your/samba/share
browsable = yes
guest ok = yes
read only = yes
write list = user1 user2 user3
create mask = 0755
Lance C.
sumber