Cara membuat berbagi Samba
Samba memungkinkan klien Windows dan klien lain untuk terhubung ke direktori berbagi file pada host Linux. Samba mengimplementasikan protokol Server Message Block (SMB). Panduan ini menjelaskan cara membuat lokasi file berbagi pada mesin Fedora yang dapat diakses oleh komputer lain di jaringan lokal.
Instal dan aktifkan Samba
Perintah berikut ini menginstal Samba dan mengaturnya untuk dijalankan melalui systemctl. Ini juga mengatur firewall untuk mengizinkan akses ke Samba dari komputer lain.
sudo dnf install samba sudo systemctl enable smb --now firewall-cmd --get-active-zones sudo firewall-cmd --permanent --zone=FedoraWorkstation --add-service=samba sudo firewall-cmd --reload
Membagikan direktori di dalam /home
Dalam contoh ini, Anda akan membagikan sebuah direktori di dalam direktori home Anda, yang hanya dapat diakses oleh pengguna Anda.
Samba tidak menggunakan akun pengguna sistem operasi untuk otentikasi, jadi akun pengguna Anda harus diduplikasi di Samba. Jadi, jika akun Anda adalah jane di host, pengguna jane juga harus ditambahkan ke Samba. Meskipun nama pengguna harus sama, kata sandi dapat berbeda.
Buat pengguna bernama jane di Samba:
sudo smbpasswd -a jane
Buat direktori yang akan dijadikan share untuk Jane, dan atur konteks SELinux yang benar:
mkdir /home/jane/share sudo semanage fcontext --add --type "samba_share_t" "/home/jane/share(/.*)?" sudo restorecon -R ~/share
Konfigurasi Samba disimpan dalam berkas /etc/samba/smb.conf. Menambahkan bagian berikut di akhir berkas akan menginstruksikan Samba untuk membuat berbagi (share) bernama “share” di direktori /home/jane/share yang baru saja dibuat.
[share]
comment = My Share
path = /home/jane/share
writeable = yes
browseable = yes
public = yes
create mask = 0644
directory mask = 0755
write list = user
Mulai ulang Samba agar perubahan berlaku:
sudo systemctl restart smb
Membagikan direktori untuk banyak pengguna
Dalam contoh ini, Anda akan membagikan sebuah direktori (di luar direktori home Anda) dan membuat grup pengguna yang memiliki kemampuan untuk membaca dan menulis ke direktori yang dibagikan.
Ingatlah bahwa pengguna Samba juga harus menjadi pengguna sistem agar dapat menghormati izin sistem berkas. Contoh ini membuat grup sistem myfamily untuk dua pengguna baru jack dan maria.
sudo groupadd myfamily sudo useradd -G myfamily jack sudo useradd -G myfamily maria
|
Anda dapat membuat pengguna ini tanpa kata sandi sistem. Hal ini akan mencegah akses ke sistem melalui SSH atau login lokal. |
Tambahkan jack dan maria ke Samba dan buat kata sandi mereka:
sudo smbpasswd -a jack sudo smbpasswd -a maria
Mengatur folder bersama:
sudo mkdir /home/share sudo chgrp myfamily /home/share sudo chmod 770 /home/share sudo semanage fcontext --add --type "samba_share_t" "/home/share(/.*)?" sudo restorecon -R /home/share
Setiap share dijelaskan dalam bagiannya sendiri di berkas /etc/samba/smb.conf. Tambahkan bagian ini di bagian bawah berkas:
[family]
comment = Family Share
path = /home/share
writeable = yes
browseable = yes
public = yes
valid users = @myfamily
create mask = 0660
directory mask = 0770
force group = +myfamily
Penjelasan mengenai hal di atas:
-
valid users: hanya pengguna dari grupfamilyyang memiliki hak akses. Tanda @ menandakan nama grup. -
force group = +myfamily: Berkas dan direktori dibuat dengan grup ini, bukan grup pengguna. -
create mask = 0660: Berkas-berkas dalam folder berbagi dibuat dengan izin yang memungkinkan semua pengguna grup untuk membaca dan menulis berkas yang dibuat oleh pengguna lain. -
directory mask = 0770: seperti sebelumnya, tetapi untuk direktori.
Mulai ulang Samba agar perubahan berlaku:
sudo systemctl restart smb
Mengelola Pengguna Samba
Ubah kata sandi pengguna Samba
|
Ingat: Kata sandi pengguna sistem dan kata sandi pengguna Samba dapat berbeda. Pengguna sistem diperlukan untuk mengelola izin sistem berkas. sudo smbpasswd maria === Hapus pengguna Samba sudo smbpasswd -x maria Jika Anda tidak memerlukan pengguna sistem, hapus juga: sudo userdel -r maria == Pemecahan masalah dan log Berkas log Samba terletak di tail -f /var/log/samba/log.smbd Anda dapat meningkatkan tingkat detail dengan menambahkan baris berikut ke bagian [global]
loglevel = 5
Untuk memvalidasi sintaks berkas konfigurasi Load smb config files from /etc/samba/smb.conf Loaded services file OK. Server role: ROLE_STANDALONE Untuk menampilkan koneksi Samba saat ini, gunakan perintah Samba version 4.12.3 PID Username Group Machine Protocol Version Encryption Signing ---------------------------------------------------------------------------------------------------------------------------------------- 7259 jack jack 192.168.122.1 (ipv4:192.168.122.1:40148) SMB3_11 - partial(AES-128-CMAC) Service pid Machine Connected at Encryption Signing --------------------------------------------------------------------------------------------- family 7259 192.168.122.1 Fri May 29 14:03:26 2020 AEST - - Tidak ada file yang terkunci Beberapa hal yang perlu diperiksa jika Anda tidak dapat mengakses berbagi.
|
Want to help? Learn how to contribute to Fedora Docs ›