DEV Community

Fatih ASLAN
Fatih ASLAN

Posted on

Redhat/CentOS/Oracle Üzerinden Samba Server(SMB/CIFS File Sharing) Kurulum ve Konfigürasyonu

Samba(SMB/CIFS) ağ üzerinden farklı işletim sistemleri arası dosya paylaşımına olanak tanıyan dosya paylaşım sistemidir. Bu klavuzda Linux üzerinde Samba server aracılığıyla paylaşılan belgelere diğer işletim sistemlerinin erişimi amaçlanmıştır.

SUNUCU Tarafı;

Servis kurulur

yum install samba -y
Enter fullscreen mode Exit fullscreen mode

Servisler çalıştırılır

systemctl start smb.service
systemctl start nmb.service

systemctl enable smb.service
systemctl enable nmb.service
Enter fullscreen mode Exit fullscreen mode

Kullanıcı oluşturalım. Aşağıdaki komut kullanıcının home dizinini de oluşturulur ve ben orayı kullanacağım. Ayrıca /home dizini kullanmak durumunda da değilsiniz. Kullanıcıları ayrı ayrı yönetmek açısından faydalı olabilir ama farklı dizin kullanırsanız tüm kullanıcıları o dizine de yönlendirebilirsiniz(hatta aşağıda göreceksiniz valid user kısmına @group ismide yapabilirsiniz sonra dahil edeceğiniz kullanıcıları ikincil grup olarak bu gruba ekleyebilirsiniz), kaldı ki orda da ayrı ayrı yönetebilirsiniz ve daha uygun da olabilir. Bu durumda(/samba dizini ele alınmıştır) ikinci satırdaki komutu çalıştırmanız daha uygun olur.

/home dizinini kullanmak için;

useradd -s /sbin/nologin winuser
Enter fullscreen mode Exit fullscreen mode

Oluşturduğunuz farklı dizini kullanmak için;

useradd -M -d /samba/winuser -s /usr/sbin/nologin winuser
Enter fullscreen mode Exit fullscreen mode

Samba bağlantısı için şifre atayalım, bilgiler “/var/lib/samba” altında saklanır.

smbpasswd -a winuser
Enter fullscreen mode Exit fullscreen mode

ilgili dizine örnek bir paylaşacağım dosya oluşturuyorum

echo "merhaba smb/cifs paylaşımım" > /home/winuser/pyls.txt
Enter fullscreen mode Exit fullscreen mode

Bu arada SELinux varsayılanda home dizin paylaşımını engelliyor, dosyaların haricinde SELinux açısından servisilerin de boolen tipi etiketleri var bu durumu aşağıdaki komutla gözlemleyebilirsiniz.

getsebool -a | egrep -i samba
Enter fullscreen mode Exit fullscreen mode

Aşağıdaki komutla da aktif edebilirsiniz ev tekrar yukarıda komutla on olduğunu gözlemleyebilirsiniz.

setsebool -P samba_enable_home_dirs on
Enter fullscreen mode Exit fullscreen mode

Daha sonrasında “/etc/samba/smb.conf” dosyasına aşağıdaki gibi yapılandırıyoruz.

[global]
...
server min protocol = LANMAN1
...


[winuser]
        comment = Redhat Samba Server
        path = /home/winuser/
        valid users = winuser
        browseable = Yes
        writable = Yes
        read only = No
        inherit acls = Yes
Enter fullscreen mode Exit fullscreen mode

Servisler yeniden başlatılır

systemctl restart smb.service
systemctl restart nmb.service
Enter fullscreen mode Exit fullscreen mode

Ayrıca local firewall aktifse

firewall-cmd --zone=public --add-service=samba --permanent
Enter fullscreen mode Exit fullscreen mode

Check smb.conf

testparm
Enter fullscreen mode Exit fullscreen mode

Current Samba connection

smbstatus
Enter fullscreen mode Exit fullscreen mode

KULLANICI Tarafı;

Linux üzerinden,

İlk etapta aşağıdaki paket kurulmalıdır.

yum install samba-client -y
Enter fullscreen mode Exit fullscreen mode

Bağlantı testi için,

smbclient -L 10.10.10.96 -U winuser
Enter fullscreen mode Exit fullscreen mode

Smbclient ile login olup gözlemleyelim.

smbclient //ip_address/shared -U smb_user%smb_pass

smbclient //10.10.10.96/winuser -U winuser%winuser
Enter fullscreen mode Exit fullscreen mode
smb: \> ?
?              allinfo        altname        archive        backup         
blocksize      cancel         case_sensitive cd             chmod          
chown          close          del            deltree        dir            
du             echo           exit           get            getfacl        
geteas         hardlink       help           history        iosize         
lcd            link           lock           lowercase      ls             
l              mask           md             mget           mkdir          
more           mput           newer          notify         open           
posix          posix_encrypt  posix_open     posix_mkdir    posix_rmdir    
posix_unlink   posix_whoami   print          prompt         put            
pwd            q              queue          quit           readlink       
rd             recurse        reget          rename         reput          
rm             rmdir          showacls       setea          setmode        
scopy          stat           symlink        tar            tarmode        
timeout        translate      unlock         volume         vuid           
wdel           logon          listconnect    showconnect    tcon           
tdis           tid            utimes         logoff         ..             
!
smb: \> l
  .                                   D        0  Sun Aug 22 16:34:48 2021
  ..                                  D        0  Sun Aug 22 16:30:27 2021
  .bash_logout                        H       18  Thu May 27 18:09:35 2021
  .bash_profile                       H      141  Thu May 27 18:09:35 2021
  .bashrc                             H      376  Thu May 27 18:09:35 2021
  pyls.txt                            N       24  Sun Aug 22 16:34:48 2021
Enter fullscreen mode Exit fullscreen mode

Aşağıdaki gibi mount işlemini yapabilirsiniz.

mount -t cifs -o username=winuser,pass=winuser //10.10.10.96/winuser /mnt
Enter fullscreen mode Exit fullscreen mode

Aşağıdaki komutla da son mount durumlarını gözlemleyebilirsiniz.

df -h

mount
Enter fullscreen mode Exit fullscreen mode

Mount işleminin kalıcı hale gelebilmesi için /etc/fstab içine yazmayı unutmayın. Dilerseniz user, pass bilgilerini dosyadan da okutabilirsiniz. İlgili link size yardımcı olacaktır.

//10.10.10.96/winuser                      /mnt                    cifs     username=winuser,pass=winuser   0 0
Enter fullscreen mode Exit fullscreen mode

Ayrıca “smb://10.10.10.96/winuser” ile de hem TUI hem de GUI bağlanabilirsiniz.

Windows üzerinden,

Network – Map network drive...

image

image

ref:

computernetworkingnotes | ubuntu

Discussion (0)