Cara membuat Samba berbagi menjadi TIDAK BERTANYA UNTUK SANDI

20

CATATAN: Saya telah membaca mungkin hingga 50 halaman berbeda yang menjelaskan cara mengatur share Samba publik dalam rentang 2 TAHUN dan tidak ada yang berhasil bagi saya. Saya tidak tahu berapa banyak RTFM yang saya butuhkan untuk mengatur hal ini.

Saya perlu / ingin menyiapkan berbagi file publik yang sepenuhnya terbuka di server rumah saya untuk dua workstation.

Setup adalah sebagai berikut:

Server :

  • Debian Wheezy
  • sudo smbd --versionmemberi saya Version 3.6.6.
  • 2 partisi lokal yang ingin saya bagikan, diformat dalam NTFS karena sudah lama dan diambil dari mesin Windows. Saya tidak dapat memformatnya ke ext * FS karena mereka memiliki banyak data yang saya belum bisa (belum) pindah ke tempat lain.
  • mesin bernama "homeserv" karena kurangnya orisinalitas.

Klien :

  1. Pengujian Debian (Jessie)
  2. Windows 7 (2 mesin berbeda). Sebenarnya, mesin saya adalah Debian / Windows dualboot, dan mesin istri saya hanya untuk Windows.

Smb.conf saya setelah distilasi terlihat sebagai berikut ( kata demi kata , tidak ada yang lain):

[global]
  workgroup = WORKGROUP
  security = user
  map to guest = Bad User

[disk1]
  comment = Disk 1 on 400GB HDD
  path = /media/disk1
  browsable = yes
  guest ok = yes
  read only = no
  create mask = 0755

[disk2]
  comment = Disk 2 on 400GB HDD
  path = /media/disk2
  browsable = yes
  guest ok = yes
  read only = no
  create mask = 0755

Di kedua mesin klien, di Debian dan Windows saya mendapatkan hasil yang sama: dialog login / kata sandi. NO KOMBINASI dari security = user, map to guest = Bad user, security = share, guest ok = yesdan seperti membantu.

Windows 7 menunjukkan dialog login / kata sandi tepat setelah saya mengklik mesin bersama di lingkungan jaringan. smb://homeserv/path file di Debian (di browser file apa pun) menunjukkan kepada saya dua folder: disk1dan disk2, sebagaimana dimaksud, dengan mencoba membukanya, bawa dialog login / kata sandi.

Jadi, apa kekurangan saya dalam skema untuk TIDAK HARUS memasukkan login / kata sandi? Ini adalah pertanyaan kegunaan, saya tidak akan membuat otentikasi berbasis pengguna untuk file rongsokan.

hijarian
sumber

Jawaban:

14

Oke, saya sendiri sudah menemukan jawaban.

Karena ini sama sekali tidak jelas dari dokumen dan HOWTO dan apa pun, alasan mengapa hal ini meminta kata sandi adalah karena tidak dapat memetakan pengguna tamu ke pemilik direktori yang dibagikan .

Saya memiliki partisi NTFS yang harus saya mount RW jadi saya menggunakan pengaturan berikut di /etc/fstab:

/dev/sdb1  /media/disk1  ntfs defaults,noexec,noatime,relatime,utf8,uid=1000,gid=1000 0       2
/dev/sdb2  /media/disk2  ntfs defaults,noexec,noatime,relatime,utf8,uid=1000,gid=1000 0       2

Potongan-potongan konfigurasi yang paling penting adalah uiddan gid(mungkin saja uid, tidak tahu). Mereka diatur ke UID dan GID dari pengguna yang jonniediatur di server (jelas bukan root). Jadi, ketika ntfs-3g akan me-mount disk ini, semuanya akan menjadi miliknya.

Setelah itu, saya telah menambahkan pengguna ini ke registri Samba (atau mungkin membuat yang identik baru, tidak peduli):

# smbpasswd -a jonnie

Ia meminta kata sandi, saya telah memasukkan sama seperti untuk sistem utama.

Setelah itu, saya telah menambahkan force userdan force grouppengaturan ke smb.conf:

[global]
  workgroup = WORKGROUP
  netbios name = HOMESERV
  security = share

[disk1]
  comment = Disk 1 on 400GB HDD
  path = /media/disk1
  browsable = yes
  guest ok = yes
  read only = no
  create mask = 666
  directory mask = 777
  force user = jonnie
  force group = jonnie

[disk2]
  comment = Disk 2 on 400GB HDD
  path = /media/disk2
  browsable = yes
  guest ok = yes
  read only = no
  create mask = 666
  directory mask = 777
  force user = jonnie
  force group = jonnie

Jadi, bagian terpenting dari konfigurasi yang relevan bagi saya adalah force user.

Atas perkenan Samba HOWTO

hijarian
sumber
1
"Jelas bukan root". Itu sebenarnya tidak begitu jelas. Samba memiliki banyak mode kegagalan. Sebagian besar menghasilkan pesan kesalahan yang identik. Itu sebabnya Anda menghabiskan banyak waktu dalam pencarian Google yang sia-sia. Tidak hanya satu pencarian akan memunculkan campuran masalah, tetapi jawaban yang ditemukan juga akan mengalami kebingungan yang sama. Menggunakan root menghilangkan sisi keamanan Linux, tetapi juga memungkinkan Anda untuk mendiagnosis masalah. Jika berfungsi sebagai root, Anda memiliki masalah keamanan di tingkat Linux, Jika Samba masih gagal, masalahnya ada di dalam gagasan pengguna Samba (mereka berbeda, dan seharusnya memiliki kesalahan unik)
MSalters
2

Konfigurasi bisa lebih pendek:

Buat unix pengguna jonnie

useradd jonnie -s /usr/sbin/nologin

Buat smbuser

smbpasswd -a jonnie

Buat direktori Linux untuk dibagikan

mkdir /mysmbshare

Ubah pemilik direktori menjadi jonnie

chown /mysmbshare jonnie

smb.conf

[global]
  workgroup = MyWorkGroup
  server string = Hello, use me
  security = share
  guest account = jonnie
  passdb backend = tdbsam

[the_public_share]
   path = /mysmbshare
   writable = yes
   printable = no
   public = yes

Semua file dimiliki oleh jonnie dan setiap orang memiliki akses ke file tersebut.

BdK
sumber
Yap, "ubah pemilik direktori menjadi jonnie" mungkin merupakan bagian terpenting di sini. Terima kasih atas solusi yang jauh lebih singkat!
hijarian
1

Cara cepat dan kotor untuk memiliki saham Samba terbuka adalah dengan:

# ----------------------- Standalone Server Options ------------------------
#
# Scurity can be set to user, share(deprecated) or server(deprecated)
#
# Backend to store user information in. New installations should
# use either tdbsam or ldapsam. smbpasswd is available for backwards
# compatibility. tdbsam requires no further configuration.

        security = share
        passdb backend = tdbsam

dan memiliki definisi saham seperti itu:

[export]
   comment = Data Export Directory
   path = /data/export
   read only = no
   public = yes
   browseable = yes
   writeable = yes
   create mask = 666
   directory mask = 777

Mulai ulang daemon.

Untuk klien Windows 7, mulai 2014, saya harus menetapkan kebijakan domain: tandatangani komunikasi digital dari selalu ke DISABLE.

putih
sumber
Ya Tuhan, mengubah kebijakan domain untuk seharusnya saham publik ... (facepalm). Oke, terima kasih, tapi tidak, saya mencoba ini sekarang dan mengakses smb://homeserv/disk1masih memerlukan kata sandi di Debian. Saya menggunakan browser file Dolphin dan Krusader. Mungkin itu adalah sesuatu di KDE.
hijarian
hei itu berhasil! : D public = yesdan 777izin melakukan trik (Win 10 hosting Ubuntu 18.04). Untungnya itu ada di workstation pribadi saya jadi saya tidak perlu khawatir tentang hal itu
Arthur Tarasov