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.100Pardus İstemci 1 (Yönetici - Tam Yetki):
192.168.1.20Pardus İ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:
sudo apt updatesudo 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.
sudo mkdir -p /srv/nfs/belgeler
3. Klasör İzinlerinin Ayarlanması (Kritik Adım)
NFS'de yetkilendirme iki katmanlıdır:
Ağ Seviyesi (Exports): Kimler bağlanabilir?
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):
sudo chown nobody:nogroup /srv/nfs/belgelersudo 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:
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:
sudo exportfs -asudo systemctl restart nfs-kernel-server
Eğer Pardus Server üzerinde UFW (Güvenlik Duvarı) aktifse, NFS portlarına izin vermelisiniz:
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.
sudo apt updatesudo 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.
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):
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:
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.
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
Ahmetkullanıcısının UID'si 1001 ise,İstemcideki
Mehmetkullanı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:
/etc/exportsdosyası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).
Ayarları yenileyin:
Bashsudo exportfs -ra
Özet ve İpuçları
IP Kısıtlaması:
/etc/exportsdosyasında asla*(rw)şeklinde tüm dünyaya yazma izni vermeyin. Mutlaka IP veya IP bloğu belirtin.Bağlantı Sorunları: İstemci bağlanamıyorsa ilk bakacağınız yer sunucudaki
ufwveyaiptablesgüvenlik duvarıdır.Performans: Eğer ağınız çok yoğunsa, mount parametrelerinde
rsize=8192,wsize=8192gibi 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