Ö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