Öncelikle sunucumuzu açalım.

Yetkileri devir aldıktan sonra samba, samba-common ve samba-client paketlerini yükleyelim.
$ su
# yum install samba samba-common samba-client

Kök dizinimize public ve private adında iki tane dizin oluşturalım.
# mkdir /public /private

Listeleyelim
# ls -ldZ /public
![]()
semanage komutunu kullanmamız için policycoreutils-python paketini yükleyelim.
# yum install policycoreutils-python
![]()
# semanage fcontext -a -t samba_share_t ‘/public(/.*)?’
# semanage fcontext -a -t samba_share_t ‘/private(/.*)?’
![]()
# restorecon -vvRF /public
# restorecon -vvRF /private

Kontrol edelim
# ls -ldZ /public
# ls -ldZ /private
Başarıyla public ve private dizinleri için samba_share_t ayarladık.

Dizinlere izinleri ayarlayalım.

Samba yapılandırma dosyasını düzenleyelim.
# vim /etc/samba/smb.conf
![]()
workgroup=WORKGROUP
olarak güncelleyelim.
private ve public için gerekli yapılandırmaları ekleyelim.

# testparm


user1 ve user2 adında iki kullanıcı oluşturalım ve bu kullanıcıların samba şifrelerini belirleyelim.

Samba servisini başlatalım ve her açılışta otomatik başlaması için aktifleştirelim.
# systemctl start smb nmb
# systemctl enable smb nmb

Güvenlik duvarı için gerekli düzenlemeleri yapalım.
# firewall-cmd --permanant –add-service=samba
Yenileyelim.
# firewall-cmd --reload

Şimdi istemci tarafına geçelim.
# sudo apt-get install smbclient cifs-utils

Sunucumuza geçelim ve net-tools paketini yükleyelim
# yum install net-tools

# ifconfig

Burada inet’in yanında yer alan kısım IP’mizi gösteriyor.
Şimdi ana makinemize dönelim ve sunucumuza bağlanalım.
# smbclient -L 192.168.122.76

sunucudaki public dizinimizi ana makinemizin kök dizinindeki mnt dizinine bağlayalım.

Hatanın sebebine bakalım.

Yanlış bir parametre girmişiz.
Şu şekilde düzeltelim ve tekrar bağlama işlemini deneyelim.
# mount -o guest //192.168.122.76/samba-public /mnt
![]()
Kontrol edelim.
# mount

Şimdi mnt dizinine bağladığımıza göre testlerimizi gerçekleştirelim.
Mnt dizine gidelim ve ramazan adında dosya oluşturalım.


![]()

Ardından bağladığımız public dizinini kaldıralım.

Bu sefer private dizinini user1 kullanıcı adıyla mnt dizinimize bağlayalım. user1’in sadece yazma izni olduğu için bir dosya veya dizin oluşturup üzerinde değişiklik yapabiliriz.
# mount -o username=user1 //192.168.122.76/samba-private /mnt

Kontrol edelim.
# mount

mnt dizinimize gidelim ve folder adında bir dizin ve raka adında bir dosya oluşturalım.
Ardından bağlı olan dizini kaldıralım ve user2 ile sunucumuzdaki private dizinini ana bilgisayarımızdaki mnt dizinine bağlayalım.

Kontrol edelim.
# mount

mnt dizinimize girelim, dosya veya dizin oluşturmayı deneyelim. Ancak user2 adlı kullanıcının sadece okuma izni olduğu için bu işlemlere izin verilmeyecektir.

Tekrar bağladığımız dizini çıkartalım.

Kontrol edelim.
# mount

Kalıcı olarak bağlamak için fstab dosyasını düzenlemeliyiz.
$ nano /etc/fstab

Şimdi etc dizininde abc.txt oluşturalım.
$ nano /etc/abc.txt

Şimdi /etc/fstab dosyasına geri dönelim.

Gerekli olan dizinleri oluşturalım.

public ve private dizinlerimizin hepsini bağlayalım.
![]()
Kontrol edelim
# mount

Oluşturduğumuz abc.txt adlı dosyanın izinlerini inceleyelim.
# ls -ld /etc/abc.txt
Bu yetki işleminden sonra sadece kullanıcı kendi şifresini görebilecek.
# chmod 600 /etc/abc.txt

Sunucu tarafına geçerek oluşturduğumuz dizin veya dosyaları kontrol edelim.

Yararlandığım Kaynak: https://www.youtube.com/watch?v=IMPEjYoP3N4
