Pardus Server Üzerinde NFS Kurulumu ve Gelişmiş Yetkilendirme Yönetimi

Pardus Server (ve genel olarak Linux) dünyasında dosya paylaşımı denildiğinde NFS (Network File System), performanslı ve doğal yapısı gereği en sık tercih edilen protokollerden biridir. Ancak Samba'nın aksine NFS, kullanıcı adı/parola tabanlı değil, IP tabanlı ve UID/GID (Kullanıcı/Grup Kimliği) tabanlı bir yetkilendirme sistemi kullanır.

Pardus sunucuyu dosya sunucusu olarak yapılandıracak, farklı istemcilere (client) farklı okuma/yazma yetkileri verecek ve Pardus istemcilerin bu paylaşımlara nasıl bağlanacağını adım adım inceleyeceğiz.

Ön Hazırlık ve Senaryo

Bu makalede aşağıdaki örnek IP yapılandırmasını kullanacağız. Kendi ağınıza göre IP'leri değiştirmeyi unutmayın.

  • Pardus Server (Sunucu): 192.168.1.100

  • Pardus İstemci 1 (Yönetici - Tam Yetki): 192.168.1.20

  • Pardus İstemci 2 (Personel - Sadece Okuma): 192.168.1.30


BÖLÜM 1: Sunucu Tarafı Kurulumu (Pardus Server)

İlk olarak sunucumuzu dosya paylaşımına hazır hale getirelim.

1. Paketlerin Yüklenmesi

Terminali açın ve gerekli çekirdek sunucu paketlerini yükleyin:

Bash::
sudo apt update
sudo apt install nfs-kernel-server

2. Paylaşım Klasörlerinin Oluşturulması

Örnek olarak /srv/nfs altında bir ana dizin ve içinde de paylaşacağımız klasörü oluşturalım.

Bash:
sudo mkdir -p /srv/nfs/belgeler

3. Klasör İzinlerinin Ayarlanması (Kritik Adım)

NFS'de yetkilendirme iki katmanlıdır:

  1. Ağ Seviyesi (Exports): Kimler bağlanabilir?

  2. Dosya Sistemi Seviyesi (Permissions): Bağlanan kişi dosyaya yazabilir mi?

NFS, "nobody:nogroup" sahipliğini varsayılan olarak sever ancak biz belirli bir gruba yetki vermek istiyorsak standart Linux izinlerini kullanmalıyız. Şimdilik genel erişim için izinleri açalım (Daha sonra kısıtlayacağız):

Bash:
sudo chown nobody:nogroup /srv/nfs/belgeler
sudo chmod 777 /srv/nfs/belgeler

4. /etc/exports Dosyasının Yapılandırılması

NFS'in kalbi bu dosyadır. Hangi klasörün, kime, hangi yetkilerle verileceğini burada belirleriz.

Dosyayı düzenlemek için açın:

Bash:
sudo nano /etc/exports

Dosyanın en altına aşağıdaki satırları ekleyin. Burada senaryomuza sadık kalıyoruz:

# 1. Yönetici Bilgisayarı (192.168.1.20) - Hem Okuma Hem Yazma (rw)
/srv/nfs/belgeler 192.168.1.20(rw,sync,no_subtree_check)
# 2. Personel Bilgisayarı (192.168.1.30) - Sadece Okuma (ro)
/srv/nfs/belgeler 192.168.1.30(ro,sync,no_subtree_check)
# 3. Tüm Yerel Ağ (Örnek) - Sadece Okuma
# /srv/nfs/belgeler 192.168.1.0/24(ro,sync,no_subtree_check)

Parametrelerin Anlamları:

  • rw: Read/Write (Okuma ve Yazma).

  • ro: Read Only (Sadece Okuma).

  • sync: Veriler diske yazılmadan işlem tamamlandı onayı dönmez (Veri güvenliği için önemlidir).

  • no_subtree_check: Alt dizin kontrolünü kapatır (Performansı artırır).

5. Servisi Başlatma ve Güvenlik Duvarı

Ayarları uygulayalım ve servisi yeniden başlatalım:

Bash:
sudo exportfs -a
sudo systemctl restart nfs-kernel-server

Eğer Pardus Server üzerinde UFW (Güvenlik Duvarı) aktifse, NFS portlarına izin vermelisiniz:

Bash
sudo ufw allow from 192.168.1.0/24 to any port nfs

BÖLÜM 2: İstemci Tarafı Kurulumu (Pardus İstemci)

Şimdi istemci bilgisayarlara geçip paylaşılan klasöre nasıl erişeceğimize bakalım.

1. Gerekli Paketin Yüklenmesi

İstemci makinelerde sunucu paketine gerek yoktur, sadece common paketi yeterlidir.

Bash:
sudo apt update
sudo apt install nfs-common

2. Bağlantı Noktası (Mount Point) Oluşturma

Sunucudaki dosyaları istemcide göreceğimiz bir klasör oluşturmalıyız.

Bash
sudo mkdir -p /mnt/sirket_belgeleri

3. Manuel Bağlantı (Test Amaçlı)

Terminalden şu komutu girerek bağlantıyı test edin (IP adresini sunucu IP'si ile değiştirin):

Bash
sudo mount 192.168.1.100:/srv/nfs/belgeler /mnt/sirket_belgeleri

Hata almadıysanız bağlantı başarılıdır. İçeriği kontrol edin:

Bash:
ls -l /mnt/sirket_belgeleri

4. Otomatik Bağlantı (Kalıcı Hale Getirme)

Bilgisayar her açıldığında bu paylaşımın otomatik gelmesi için /etc/fstab dosyasını düzenlemeliyiz.

Bash:
sudo nano /etc/fstab

En alt satıra şunları ekleyin:

192.168.1.100:/srv/nfs/belgeler /mnt/sirket_belgeleri nfs auto,noatime,nolock,bg,nfsvers=4,intr,tcp,actimeo=1800 0 0

BÖLÜM 3: Gelişmiş Yetkilendirme (Permission Management)

NFS kullanırken en çok kafa karıştıran nokta yetkilendirmedir. İşte detaylar:

Senaryo 1: Root Erişimini Kısıtlamak (Root Squashing)

Varsayılan olarak NFS, istemciden "root" olarak gelen istekleri, sunucuda "nobody" kullanıcısına çevirir. Bu bir güvenlik önlemidir (root_squash).

Eğer istemcideki root kullanıcısının, sunucudaki dosyalara da tam root yetkisiyle yazmasını istiyorsanız /etc/exports dosyasına no_root_squash eklemelisiniz.

Örnek:

/srv/nfs/yedekler 192.168.1.20(rw,sync,no_root_squash)

Uyarı: Bu yöntem güvenlik riski oluşturabilir, sadece güvenilen yönetim bilgisayarları için kullanın.

Senaryo 2: UID/GID Eşleşmesi (Kullanıcı Bazlı Yetki)

NFS, kullanıcı adlarına değil User ID (UID) numaralarına bakar.

  • Sunucuda Ahmet kullanıcısının UID'si 1001 ise,

  • İstemcideki Mehmet kullanıcısının UID'si de 1001 ise,

  • NFS bu iki kullanıcıyı AYNI KİŞİ sanar.

Eğer şirketteki Pardus bilgisayarlarda LDAP veya Merkezi Yönetim (Lider Ahenk vb.) yoksa, kullanıcıların klasöre yazabilmesi için all_squash yöntemini kullanmak en temizidir.

Tüm kullanıcıları tek bir yetkiliye zorlama (all_squash): İstemciden kim bağlanırsa bağlansın (UID kaç olursa olsun), sunucuda belirli bir kullanıcıymış gibi işlem görsün istiyorsanız:

  1. /etc/exports dosyasını düzenleyin:

    Bash:
    /srv/nfs/belgeler 192.168.1.0/24(rw,all_squash,anonuid=1000,anongid=1000)
    

    (Burada 1000, sunucudaki yetkili kullanıcının ID'sidir).

  2. Ayarları yenileyin:

    Bash
    sudo exportfs -ra
    

Özet ve İpuçları

  1. IP Kısıtlaması: /etc/exports dosyasında asla *(rw) şeklinde tüm dünyaya yazma izni vermeyin. Mutlaka IP veya IP bloğu belirtin.

  2. Bağlantı Sorunları: İstemci bağlanamıyorsa ilk bakacağınız yer sunucudaki ufw veya iptables güvenlik duvarıdır.

  3. Performans: Eğer ağınız çok yoğunsa, mount parametrelerinde rsize=8192,wsize=8192 gibi tampon (buffer) ayarları kullanabilirsiniz, ancak modern NFS versiyonları bunu otomatik ayarlar.

Pardus üzerinde NFS, doğru yapılandırıldığında kurum içi dosya paylaşımı için en hızlı ve kaynak dostu çözümdür.


Bir sonraki adım ne olabilir? Eğer okulunuzda veya kurumunuzda çok sayıda kullanıcı varsa, NFS izinlerini tek tek ayarlamak zor olabilir. İsterseniz bu yapıyı Lider Ahenk veya LDAP ile nasıl entegre edeceğinize dair bilgi verebilirim?

Yorumlar

Bu blogdaki popüler yayınlar

Android Telefon/Tablet Ekranını Pardus ETAP 23 Yüklü Akıllı Tahtaya Yansıtma

Pardus Etap 23’de Unutulmuş Etap Yetkili Parolasını Sıfırlama

Pardus Başlangıç Onarma