Menyiapkan Samba dan Mengonfigurasi FirewallD dan SELinux untuk Mengizinkan Berbagi File di Klien Linux/Windows - Bagian 6


Karena komputer jarang bekerja sebagai sistem yang terisolasi, sebagai administrator atau insinyur sistem, Anda diharapkan mengetahui cara mengatur dan memelihara jaringan dengan berbagai jenis server.

Dalam artikel ini dan seri berikutnya, kita akan membahas dasar-dasar penyiapan server Samba dan NFS dengan klien Windows/Linux dan Linux.

Artikel ini pasti akan berguna jika Anda diminta untuk menyiapkan server file di lingkungan perusahaan atau perusahaan tempat Anda mungkin menemukan sistem operasi dan jenis perangkat yang berbeda.

Karena Anda dapat membaca tentang latar belakang dan aspek teknis Samba dan NFS di seluruh Internet, dalam artikel ini dan selanjutnya kita akan langsung membahas topik yang ada.

Langkah 1: Menginstal Server Samba

Lingkungan pengujian kami saat ini terdiri dari dua kotak RHEL 7 dan satu mesin Windows 8, dengan urutan sebagai berikut:


1. Samba / NFS server [box1 (RHEL 7): 192.168.0.18], 
2. Samba client #1 [box2 (RHEL 7): 192.168.0.20]
3. Samba client #2 [Windows 8 machine: 192.168.0.106]

Di box1, instal paket berikut:


yum update && yum install samba samba-client samba-common

Di kotak2:


yum update && yum install samba samba-client samba-common cifs-utils

Setelah instalasi selesai, kami siap untuk mengkonfigurasi share kami.

Langkah 2: Menyiapkan Berbagi File Melalui Samba

Salah satu alasan mengapa Samba sangat relevan adalah karena ia menyediakan layanan file dan pencetakan kepada klien SMB/CIFS, yang menyebabkan klien tersebut melihat server seolah-olah itu adalah sebuah Sistem Windows (Harus saya akui, saya cenderung menjadi sedikit emosional saat menulis tentang topik ini karena ini adalah pengaturan pertama saya sebagai administrator sistem Linux baru beberapa tahun yang lalu).

Menambahkan pengguna sistem dan mengatur izin dan kepemilikan

Untuk memungkinkan kolaborasi grup, kami akan membuat grup bernama keuangan dengan dua pengguna (pengguna1 dan pengguna2) dengan perintah useradd dan direktori /finance di kotak1.

Kami juga akan mengubah pemilik grup direktori ini menjadi keuangan dan menetapkan izinnya menjadi 0770 (izin baca, tulis, dan eksekusi untuk pemilik dan pemilik grup):


groupadd finance
useradd user1
useradd user2
usermod -a -G finance user1
usermod -a -G finance user2
mkdir /finance
chmod 0770 /finance
chgrp finance /finance

Langkah 3: Mengonfigurasi SELinux dan Firewalld

Sebagai persiapan untuk mengonfigurasi /finance sebagai share Samba, kita perlu menonaktifkan SELinux atau menetapkan nilai boolean dan konteks keamanan yang tepat sebagai berikut (jika tidak, SELinux akan mencegah klien mengakses share):


setsebool -P samba_export_all_ro=1 samba_export_all_rw=1
getsebool –a | grep samba_export
semanage fcontext –at samba_share_t "/finance(/.*)?"
restorecon /finance

Selain itu, kita harus memastikan bahwa lalu lintas Samba diizinkan oleh firewalld.


firewall-cmd --permanent --add-service=samba
firewall-cmd --reload

Langkah 4: Konfigurasikan Samba Share

Sekarang saatnya menyelami file konfigurasi /etc/samba/smb.conf dan menambahkan bagian untuk bagian kita: kami ingin anggota grup keuangan dapat untuk menelusuri konten /finance, dan menyimpan / membuat file atau subdirektori di dalamnya (yang secara default bit izinnya akan disetel ke 0770 dan keuangan akan menjadi pemilik grupnya):


[finance]
comment=Directory for collaboration of the company's finance team
browsable=yes
path=/finance
public=no
valid users=@finance
write list=@finance
writeable=yes
create mask=0770
Force create mode=0770
force group=finance

Simpan file lalu uji dengan utilitas testparm. Jika ada kesalahan, output dari perintah berikut akan menunjukkan apa yang perlu Anda perbaiki. Jika tidak, ini akan menampilkan review konfigurasi server Samba Anda:

Jika Anda ingin menambahkan share lain yang terbuka untuk umum (artinya tanpa autentikasi apa pun), buat bagian lain di /etc/samba/smb.conf dan di bawah nama share baru salin bagian di atas , hanya mengubah public=no menjadi public=yes dan tidak menyertakan pengguna yang valid dan arahan daftar tulis.

Langkah 5: Menambahkan Pengguna Samba

Selanjutnya, Anda perlu menambahkan pengguna1 dan pengguna2 sebagai pengguna Samba. Untuk melakukannya, Anda akan menggunakan perintah smbpasswd, yang berinteraksi dengan database internal Samba. Anda akan diminta memasukkan kata sandi yang nantinya akan Anda gunakan untuk terhubung ke share:


smbpasswd -a user1
smbpasswd -a user2

Terakhir, restart Samba, aktifkan layanan untuk memulai saat boot, dan pastikan share benar-benar tersedia untuk klien jaringan:


systemctl start smb
systemctl enable smb
smbclient -L localhost –U user1
smbclient -L localhost –U user2

Pada titik ini, server file Samba telah diinstal dan dikonfigurasi dengan benar. Sekarang saatnya menguji penyiapan ini pada klien RHEL 7 dan Windows 8 kami.

Langkah 6: Memasang Samba Share di Linux

Pertama, pastikan share Samba dapat diakses dari klien ini:


smbclient –L 192.168.0.18 -U user2

(ulangi perintah di atas untuk pengguna1)

Seperti media penyimpanan lainnya, Anda dapat memasang (dan kemudian melepas) jaringan berbagi ini bila diperlukan:


mount //192.168.0.18/finance /media/samba -o username=user1

(dimana /media/samba adalah direktori yang sudah ada)

atau secara permanen, dengan menambahkan entri berikut di file /etc/fstab:


//192.168.0.18/finance /media/samba cifs credentials=/media/samba/.smbcredentials,defaults 0 0

Dimana file tersembunyi /media/samba/.smbcredentials (yang izin dan kepemilikannya masing-masing telah ditetapkan ke 600 dan root:root) berisi dua baris yang menunjukkan nama pengguna dan kata sandi akun yang diperbolehkan menggunakan share:


username=user1
password=PasswordForUser1

Terakhir, mari buat file di dalam /finance dan periksa izin dan kepemilikannya:


touch /media/samba/FileCreatedInRHELClient.txt

Seperti yang Anda lihat, file tersebut dibuat dengan izin 0770 dan kepemilikan ditetapkan ke pengguna1:finance.

Langkah 7: Memasang Samba Share di Windows

Untuk memasang share Samba di Windows, buka PC Saya dan pilih Komputer, lalu Peta drive jaringan. Selanjutnya, tetapkan huruf untuk drive yang akan dipetakan dan centang Hubungkan menggunakan kredensial yang berbeda (tangkapan layar di bawah ini dalam bahasa Spanyol, bahasa ibu saya):

Terakhir, mari buat file dan periksa izin dan kepemilikannya:


ls -l /finance

Kali ini file tersebut milik pengguna2 karena itulah akun yang kami gunakan untuk terhubung dari klien Windows.

Ringkasan

Dalam artikel ini kami telah menjelaskan tidak hanya cara menyiapkan server Samba dan dua klien menggunakan sistem operasi berbeda, tetapi juga cara mengonfigurasi firewalld dan SELinux di server untuk memungkinkan kemampuan kolaborasi grup yang diinginkan.

Terakhir, namun tidak kalah pentingnya, izinkan saya merekomendasikan pembacaan halaman manual online smb.conf untuk menjelajahi arahan konfigurasi lain yang mungkin lebih sesuai untuk kasus Anda daripada skenario yang dijelaskan dalam artikel ini.

Seperti biasa, jangan ragu untuk memberikan komentar menggunakan formulir di bawah ini jika Anda memiliki komentar atau saran.