Centos 7’de Genel ve Özel Paylaşımlı Samba Sunucusu Yapılandırması
Ö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