Di pengaturan berbagi di smb.conf
, Anda harus menentukan nama pengguna dan / atau grup yang diizinkan menulis ke share, menggunakan write list = ...
baris.
Contoh:
[myshare]
...
write list = my_linux_username
Maka Anda harus menggunakan smbpasswd
perintah untuk mengatur kata sandi untuk mengotentikasi my_linux_username
Samba:
sudo smbpasswd -a my_linux_username
Langkah ini diperlukan karena kata sandi sistem standar di /etc/shadow
hash dalam algoritma yang tidak sesuai dengan algoritma hash kata sandi yang digunakan dalam protokol SMB. Ketika klien mengirim paket otentikasi SMB, itu termasuk kata sandi hash. Ini hanya dapat dibandingkan dengan hash kata sandi lain yang menggunakan algoritma yang sama.
(Sangat, instruksi yang sangat lama dari milenium sebelumnya dapat merekomendasikan penonaktifan enkripsi kata sandi di Samba, dan menggunakan peretasan registri tertentu untuk memungkinkan Windows memancarkan kata sandi yang tidak terenkripsi ke jaringan. Saran ini sudah usang : peretasan registri tersebut mungkin tidak lagi berfungsi dalam versi saat ini dari Windows, dan izinkan siapa saja yang dapat memonitor lalu lintas jaringan Anda dengan sepele menangkap kata sandi Anda.)
Ada satu hal lagi yang harus Anda lakukan di sisi klien. Ketika sistem klien Windows Anda digabungkan ke domain Active Directory dan Anda masuk dengan akun AD, secara otomatis awalan semua nama pengguna yang tidak memenuhi syarat dengan nama domain AD dari pengguna, yaitu Anda akan mengautentikasi AD_DOMAIN\your_username
, bukan hanya your_username
.
Jika Anda masuk dengan akun lokal (atau sistem klien Anda tidak bergabung dengan domain AD), Windows dapat secara otomatis mengawali nama pengguna dengan nama host klien kecuali Anda menentukan nama domain lain.
Untuk berhasil masuk ke server Samba yang berdiri sendiri dari klien Windows yang berdiri sendiri, Anda mungkin harus menentukan nama pengguna Anda sebagai SAMBA_SERVER_HOSTNAME\your_username
.
Kalau tidak, Samba akan melihat nama pengguna sebagai WINDOWS_CLIENT_HOSTNAME\your_username
, menyimpulkan bahwa ia tidak memiliki cara untuk memverifikasi pengguna yang memiliki nama domain WINDOWS_CLIENT_HOSTNAME
, dan akan menolak login.
(Versi Samba yang lebih baru mungkin memiliki pemeriksaan bawaan untuk situasi khusus ini, dan mereka mungkin mengizinkan Anda untuk mengaksesnya. Tetapi ini pada dasarnya bagaimana otentikasi SMB bekerja "di bawah tenda", dan jika Anda perlu berurusan dengan versi Samba yang lama , mungkin masih berguna.)
force user = defaultUser
berhasil bagi saya.