Windows'ta Dosya Paylaşımı için Ubuntu'ya Samba Nasıl Kurulur
Samba, aynı ağdaki Linux ve Windows ana bilgisayarları da dahil olmak üzere Unix benzeri sistemler arasında dosya ve yazdırma hizmetlerini paylaşmak için kullanılan ücretsiz/açık kaynaklı ve popüler bir yazılımdır.
Bu kılavuzda, Ubuntu sistemleri ve Windows makineleri arasında temel dosya paylaşımı için Samba4'ün nasıl kurulacağını göstereceğiz. İki olası senaryoyu ele alacağız: anonim (güvenli olmayan) ve güvenli dosya paylaşımı.
Önerilen Okuma: Windows'ta Dosya Paylaşımı için Samba4'ü CentOS/RHEL 7'ye Yükleme
Sürüm 4.0'dan itibaren Samba'nın Active Directory (AD) etki alanı denetleyicisi (DC) olarak kullanılabileceğini unutmayın. Samba4 Active Directory Etki Alanı Denetleyicisi kurulumuna yönelik Ubuntu, CentOS ve Windows kapsamındaki önemli konulardan oluşan özel bir seri düzenledik.
- Samba4 Active Directory Etki Alanı Denetleyicisini Ayarlama
Ubuntu'da Samba'yı Kurun ve Yapılandırın
Samba sunucusu, gösterildiği gibi apt paket yöneticisi aracını kullanarak varsayılan Ubuntu depolarından kurulabilir.
sudo apt install samba samba-common python-dnspython
Samba sunucusu kurulduktan sonra, şimdi samba sunucusunu şu şekilde yapılandırmanın zamanı geldi: güvenli olmayan anonim ve güvenli dosya paylaşımı.
Bunun için ana Samba konfigürasyon dosyasını /etc/samba/smb.conf (çeşitli konfigürasyon direktiflerini açıklayan) düzenlememiz gerekir.
Öncelikle orijinal samba yapılandırma dosyasını aşağıdaki gibi yedekleyin.
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.orig
Daha sonra, aşağıda açıklandığı gibi anonim ve güvenli dosya paylaşımı hizmetleri için sambayı yapılandırmaya devam edeceğiz.
Önemli: Daha ileri gitmeden önce, Windows makinesinin Ubuntu sunucusunda yapılandırılacak olan çalışma grubunda olduğundan emin olun.
Windows Makine Çalışma Grubu Ayarlarını Kontrol Edin
Windows makinenizde oturum açın, “Bu Bilgisayar” veya “Bilgisayarım”a sağ tıklayın → Özellikler → Gelişmiş Sistem Ayarları → Çalışma grubunu doğrulamak için Bilgisayar Adı.
Alternatif olarak, komut istemini açın ve aşağıdaki komutu çalıştırarak görüntüleyin ve "iş istasyonu etki alanı" ifadesini arayın.
>net config workstation
Windows çalışma grubunuzu öğrendikten sonra, ilerlemenin ve samba sunucusunu dosya paylaşımı için yapılandırmanın zamanı geldi.
Anonim Samba Dosya Paylaşımı
Öncelikle dosyaların saklanacağı paylaşılan bir samba dizini oluşturarak başlayın.
sudo mkdir -p /srv/samba/anonymous_shares
Daha sonra dizinde uygun izinleri ayarlayın.
sudo chmod -R 0775 /srv/samba/anonymous_shares
sudo chown -R nobody:nogroup /srv/samba/anonymous_shares
Şimdi yapılandırma dosyasını açın.
sudo vi /etc/samba/smb.conf
OR
sudo nano /etc/samba/smb.conf
Daha sonra direktif ayarlarını aşağıda açıklandığı gibi düzenleyin veya değiştirin.
global]
workgroup = WORKGROUP
netbios name = ubuntu
security = user
[Anonymous]
comment = Anonymous File Server Share
path = /srv/samba/anonymous_shares
browsable =yes
writable = yes
guest ok = yes
read only = no
force user = nobody
Şimdi aşağıdaki komutu çalıştırarak mevcut samba ayarlarını doğrulayın.
testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
WARNING: The "syslog" option is deprecated
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Shares]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
Global parameters
[global]
netbios name = UBUNTU
server string = %h server (Samba, Ubuntu)
server role = standalone server
map to guest = Bad User
obey pam restrictions = Yes
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
dns proxy = No
usershare allow guests = Yes
panic action = /usr/share/samba/panic-action %d
idmap config * : backend = tdb
[printers]
comment = All Printers
path = /var/spool/samba
create mask = 0700
printable = Yes
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = No
[Anonymous]
comment = Anonymous File Server Share
path = /srv/samba/anonymous_shares
force user = nobody
read only = No
guest ok = Yes
Ardından yukarıdaki değişiklikleri gerçekleştirmek için Samba hizmetlerini yeniden başlatın.
sudo systemctl restart smbd [Systemd]
sudo service smbd restart [Sys V]
Anonim Samba Dosya Paylaşımını Test Etme
Windows makinesine gidin ve Windows Gezgini penceresinden "Ağ " öğesini açın. Ubuntu ana bilgisayarına tıklayın (bizim durumumuz için TECMINT) veya samba sunucusuna IP adresini kullanarak erişmeyi deneyin.
\2.168.43.168
Not: Ubuntu sunucunuzun IP adresini almak için ifconfig komutunu kullanın.
Ardından Anonim dizinini açın ve diğer kullanıcılarla paylaşmak üzere dosyaları buraya eklemeyi deneyin.
Güvenli Samba Dosya Paylaşımı
Bir samba paylaşımını parolayla korumak için bir “smbgrp” grubu oluşturmanız ve her kullanıcı için bir parola ayarlamanız gerekir. Bu örnekte kullanıcı olarak aaronkilik'i ve “tecmint” olarak şifreyi kullanıyorum.
sudo addgroup smbgrp
sudo usermod aaronkilik -aG smbgrp
sudo smbpasswd -a aaronkilik
Not: Samba güvenlik modu: güvenlik=kullanıcı, istemcilerin paylaşımlara bağlanmak için bir kullanıcı adı ve şifre girmesini gerektirir.
Samba kullanıcı hesapları sistem hesaplarından ayrıdır ancak isteğe bağlı olarak sistem kullanıcılarını ve şifrelerini samba kullanıcı veritabanıyla senkronize etmek için kullanılan libpam-winbind paketini yükleyebilirsiniz.
sudo apt install libpam-winbind
Daha sonra paylaşılan dosyaların saklanacağı güvenli dizini oluşturun.
sudo mkdir -p /srv/samba/secure_shares
Daha sonra dizinde uygun izinleri ayarlayın.
sudo chmod -R 0770 /srv/samba/secure_shares
sudo chown -R root:smbgrp /srv/samba/secure_shares
Şimdi yapılandırma dosyasını açın.
sudo vi /etc/samba/smb.conf
OR
sudo nano /etc/samba/smb.conf
Daha sonra direktif ayarlarını aşağıda açıklandığı gibi düzenleyin veya değiştirin.
[Secure]
comment = Secure File Server Share
path = /srv/samba/secure_shares
valid users = @smbgrp
guest ok = no
writable = yes
browsable = yes
Daha önce olduğu gibi mevcut samba ayarlarınızı görmek için bu komutu çalıştırın.
testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
WARNING: The "syslog" option is deprecated
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Shares]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
Global parameters
[global]
netbios name = UBUNTU
server string = %h server (Samba, Ubuntu)
server role = standalone server
map to guest = Bad User
obey pam restrictions = Yes
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
dns proxy = No
usershare allow guests = Yes
panic action = /usr/share/samba/panic-action %d
idmap config * : backend = tdb
[printers]
comment = All Printers
path = /var/spool/samba
create mask = 0700
printable = Yes
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = No
[Anonymous]
comment = Anonymous File Server Share
path = /srv/samba/anonymous_shares
force user = nobody
read only = No
guest ok = Yes
[Secure]
comment = Secure File Server Share
path = /srv/samba/secure_shares
valid users = @smbgrp
read only = No
Yukarıdaki yapılandırmaları tamamladıktan sonra değişiklikleri uygulamak için Samba hizmetlerini yeniden başlatın.
sudo systemctl restart smbd [Systemd]
sudo service smbd restart [Sys V]
Güvenli Samba Dosya Paylaşımını Test Etme
Daha önce olduğu gibi, Windows makinesinde bir Windows Gezgini penceresinden “Ağ” öğesini açın. Ubuntu ana bilgisayarına tıklayın (bizim durumumuz için TECMINT). Bir sonraki adıma geçmediğiniz takdirde aşağıdaki hatayı alabilirsiniz.
Sunucuya IP adresini kullanarak erişmeyi deneyin; \\192.168.43.168
bunu beğendi. Daha sonra aaronkilik kullanıcısı için kimlik bilgilerini (kullanıcı adı ve şifre) girin ve Tamam'ı tıklayın.
Artık tüm paylaşılan dizinleri görüntüleyeceksiniz, açmak için Güvenli'yi tıklayın.
Bazı dosyaları bu dizine bırakarak ağdaki diğer izin verilen kullanıcılarla güvenli bir şekilde paylaşabilirsiniz.
Ubuntu'daki UFW Güvenlik Duvarında Samba'yı etkinleştirin
Sisteminizde UFW güvenlik duvarı etkin/etkinse, Samba'nın güvenlik duvarınızdan geçmesine izin verecek kuralları eklemeniz gerekir.
Bunu test etmek için 192.168.43.0 ağ şemasını kullandık. Ağ adresinizi belirterek aşağıdaki komutları çalıştırın.
sudo ufw allow proto udp to any port 137 from 192.168.43.0/24
sudo ufw allow proto udp to any port 138 from 192.168.43.0/24
sudo ufw allow proto tcp to any port 139 from 192.168.43.0/24
sudo ufw allow proto tcp to any port 445 from 192.168.43.0/24
Ayrıca ağda Samba dosya paylaşımıyla ilgili bu faydalı makalelere de göz atabilirsiniz.
- Samba4 Active Directory Etki Alanı Denetleyicisinin Kurulumu - Bölüm 1 - 14
- Linux'ta Yerel ve Ağ (Samba ve NFS) Dosya Sistemlerini Bağlama/Çıkarma
- ACL'leri (Erişim Kontrol Listeleri) Kullanma ve Samba/NFS Paylaşımlarını Bağlama
- Linux Sistemlerinde SambaCry Güvenlik Açığı (CVE-2017-7494) Nasıl Düzeltilir
Bu kadar! Bu kılavuzda size Ubuntu ve Windows makineleri arasında anonim ve güvenli dosya paylaşımı için Samba4'ün nasıl kurulacağını gösterdik. Düşüncelerinizi bizimle paylaşmak için aşağıdaki geri bildirim formunu kullanın.