🗂️ Przewodnik po serwerach plików w Linux: Samba, NFS i zaawansowane konfiguracje
Udostępnianie zasobów plikowych w sieci lokalnej to jedno z podstawowych zadań serwera w infrastrukturze firmowej lub domowej. Linux, dzięki protokołom takim jak Samba (SMB/CIFS) i NFS, oferuje pełną funkcjonalność serwerów plików zarówno dla systemów Windows, jak i Unix/Linux. W tym artykule przeprowadzimy Cię przez kompleksowy przewodnik konfiguracji serwera plików w Linux – od podstaw po zaawansowane scenariusze.
🧭 Dlaczego Linux jako serwer plików?
✔️ Zalety:
- Stabilność i bezpieczeństwo: idealny do pracy ciągłej.
- Elastyczność: pełna kontrola nad konfiguracją.
- Obsługa wielu protokołów: SMB, NFS, FTP, WebDAV.
🔌 Scenariusze użycia:
- Domowe NAS.
- Serwer plików w małej firmie.
- Centralna lokalizacja backupów.

📁 Samba – udostępnianie plików dla Windows
Samba pozwala na udostępnianie katalogów i plików z serwera Linux dla klientów Windows (i nie tylko) za pomocą protokołu SMB (Server Message Block).
🛠️ Instalacja:
sudo apt install samba
lub na Red Hat/Fedora:
sudo dnf install samba samba-common
📝 Konfiguracja pliku /etc/samba/smb.conf:
[global]
workgroup = WORKGROUP
server string = Serwer Samba
security = user
map to guest = Bad User
[publiczny]
path = /srv/samba/publiczny
browsable = yes
writable = yes
guest ok = yes
👥 Zarządzanie użytkownikami Samby:
sudo smbpasswd -a nazwa_uzytkownika
📌 Uprawnienia i SELinux:
W systemach z SELinux konieczne może być:
chcon -t samba_share_t /srv/samba/publiczny -R
setsebool -P samba_enable_home_dirs on
🖧 NFS – sieciowy system plików dla środowisk Unix/Linux
NFS (Network File System) to protokół typowy dla sieci Unix-like. Wersja NFSv4 wprowadza wsparcie dla autoryzacji Kerberos i szyfrowania.
🔧 Instalacja serwera NFS:
sudo apt install nfs-kernel-server
📁 Udostępnianie katalogu w /etc/exports:
/srv/nfs/share 192.168.1.0/24(rw,sync,no_subtree_check)
🚀 Aktywacja i start:
sudo systemctl enable nfs-server
sudo systemctl start nfs-server
📦 Montowanie na kliencie:
sudo mount -t nfs 192.168.1.10:/srv/nfs/share /mnt/nfs
🔒 Zaawansowane konfiguracje i bezpieczeństwo
🔐 Autoryzacja:
- Samba: konta użytkowników Samby niezależne od kont systemowych (lub zintegrowane).
- NFSv4: integracja z Kerberos – bezpieczne uwierzytelnianie.
💼 Kwoty dyskowe:
Wspierane przez systemy plików EXT4/XFS:
sudo edquota nazwa_uzytkownika
🔒 Zabezpieczenia:
- Ustawianie ACL (Access Control List):
setfacl -m u:jan:rw /srv/samba/publiczny - Ograniczanie dostępu przez firewalld / ufw:
sudo ufw allow from 192.168.1.0/24 to any port 445 proto tcp
📈 Monitoring i audyt dostępu
📜 Logowanie w Sambie:
- Domyślny log:
/var/log/samba/log.smbd - Zaawansowane:
log level = 3
🧪 Audyt z auditd i ausearch:
Instalacja i konfiguracja:
sudo apt install auditd audispd-plugins
auditctl -w /srv/samba/ -p rwxa
ausearch -f /srv/samba/
⚖️ Porównanie Samba vs NFS
| Cecha | Samba | NFS |
|---|---|---|
| Kompatybilność | Windows/Linux/macOS | Linux/Unix głównie |
| Bezpieczeństwo | Hasła, integracja AD | Kerberos (NFSv4) |
| Wydajność | Niższa przy małych plikach | Bardziej wydajny lokalnie |
| Konfiguracja | Bardziej złożona | Prostsza |
| Szyfrowanie | TLS/Samba 4.18+ | NFSv4+ z Kerberos |
✅ Podsumowanie i dobre praktyki
Linux zapewnia potężne możliwości w zakresie serwerów plików, zarówno dla małych biur, jak i korporacyjnych środowisk. Dzięki protokołom Samba i NFS możliwe jest bezpieczne i elastyczne udostępnianie danych. Kluczem jest:
- Staranna konfiguracja uprawnień.
- Monitoring i audyt.
- Dostosowanie protokołu do środowiska klienta.






