Nastavení a diagnostika Samba
Nastavení a diagnostika Samba
Úvod do Samby
Samba je open-source software, který umožňuje sdílení souborů a tiskáren mezi systémy s Linuxem a Windows. Je to klíčový nástroj pro integraci Linuxových serverů do sítí s Windows. Tento článek pokrývá základy nastavení Samby a diagnostiky běžných problémů.
Instalace Samby
Instalace na Ubuntu/Debian:
sudo apt update sudo apt install sambaInstalace na CentOS/RHEL:
sudo yum install sambaSpuštění a povolení služby:
sudo systemctl start smbd sudo systemctl enable smbd
Základní konfigurace Samby
Konfigurační soubor:
Hlavní konfigurační soubor Samby je/etc/samba/smb.conf.Základní struktura konfigurace:
[global] workgroup = WORKGROUP server string = Samba Server security = user [shared] path = /srv/samba/shared browseable = yes writable = yes valid users = uzivatel[global]: Globální nastavení (název pracovní skupiny, zabezpečení).[shared]: Definice sdílené složky (cesta, oprávnění, uživatelé).
Vytvoření sdílené složky:
sudo mkdir -p /srv/samba/shared sudo chmod 777 /srv/samba/sharedPřidání uživatele do Samby:
sudo smbpasswd -a uzivatel
Uživatel musí již existovat v systému
adduser uzivatel
Diagnostika a řešení problémů
Zobrazení sdílených složek:
- Příkaz
smbclientzobrazí dostupné sdílené složky na cílovém serveru ( localhost v tomto případě ):smbclient -L localhost -U uzivatel
- Příkaz
Připojení k sdílené složce:
- Z Linuxu:
smbclient //server/shared -U uzivatel - Z Windows:
- Otevřít Průzkumník souborů a zadat
\\ip_adresa\shared.
- Otevřít Průzkumník souborů a zadat
- Z Linuxu:
Prohlížení logů:
- Logy Samby jsou uloženy v
/var/log/samba/. - Hlavní logy:
log.smbd,log.nmbd. - Příkaz
tailpro zobrazení posledních záznamů:tail -n 20 /var/log/samba/log.smbd
- Logy Samby jsou uloženy v
Použití
journalctlpro diagnostiku:- Pokud Samba používá
systemd, lze logy zobrazit pomocí:journalctl -u smbd
- Pokud Samba používá
Běžné problémy a řešení:
- Nelze se připojit k sdílené složce:
- Kontrola, zda je služba
smbdspuštěna:sudo systemctl status smbd - Kontrola firewallu:
sudo ufw allow samba
- Kontrola, zda je služba
- Chyba oprávnění:
- Kontrola oprávnění složky a uživatelských účtů v Samba.
- Příkaz
getfaclpro kontrolu ACL:getfacl /srv/samba/shared - Případně UNIX práva 777 nad složkou ( práva pro všechny uživatele a skupiny na čtení, zápis a spouštění )
- Nelze se připojit k sdílené složce:
Pokročilé nastavení
Anonymní přístup:
- Přidání do
smb.conf:[global] map to guest = Bad User [public] path = /srv/samba/public browseable = yes writable = yes guest ok = yes
- Přidání do
Vázání na konkrétní síťové rozhraní:
- Přidání do
smb.conf:[global] interfaces = 192.168.1.0/24 bind interfaces only = yes
- Přidání do
Příklady konfigurace Samby pro uživatele s oprávněním write a read
Samba umožňuje nastavit různá oprávnění pro různé uživatele nebo skupiny. Níže jsou uvedeny příklady konfigurace, kde jeden uživatel má oprávnění k zápisu (write), zatímco ostatní uživatelé mají pouze oprávnění ke čtení (read).
Základní konfigurace pro jednoho uživatele s write a ostatní s read
Cíl:
- Uživatel
uzivatel1má oprávnění k zápisu (write). - Ostatní uživatelé (např.
uzivatel2,uzivatel3) mají pouze oprávnění ke čtení (read).
- Uživatel
Konfigurace v
/etc/samba/smb.conf:[global] workgroup = WORKGROUP server string = Samba Server security = user [shared] path = /srv/samba/shared browseable = yes writable = yes valid users = uzivatel1, uzivatel2, uzivatel3 write list = uzivatel1- Vysvětlení:
valid users: Definuje, kteří uživatelé mají přístup ke sdílené složce.write list: Určuje, kteří uživatelé mají oprávnění k zápisu. Ostatní uživatelé mají pouze oprávnění ke čtení.
- Vysvětlení:
Nastavení oprávnění na souborovém systému:
- Ujistěte se, že složka
/srv/samba/sharedmá správná oprávnění:sudo chown -R uzivatel1:skupina /srv/samba/shared sudo chmod 775 /srv/samba/sharedchown: Nastaví vlastníka složky nauzivatel1a skupinu naskupina.chmod 775: Umožňuje vlastníkovi a skupině čtení, zápis a spouštění, ostatním pouze čtení a spouštění.
- Ujistěte se, že složka
Přidání uživatelů do Samby:
sudo smbpasswd -a uzivatel1 sudo smbpasswd -a uzivatel2 sudo smbpasswd -a uzivatel3
Uživatel musí již existovat v systému
adduser uzivatel1
Konfigurace pro skupiny s různými oprávněními
Cíl:
- Skupina
skupina_writemá oprávnění k zápisu (write). - Skupina
skupina_readmá pouze oprávnění ke čtení (read).
- Skupina
Konfigurace v
/etc/samba/smb.conf:[global] workgroup = WORKGROUP server string = Samba Server security = user [shared] path = /srv/samba/shared browseable = yes writable = yes valid users = @skupina_write, @skupina_read write list = @skupina_write- Vysvětlení:
@skupina_write: Skupina s oprávněním k zápisu.@skupina_read: Skupina s oprávněním ke čtení.
- Vysvětlení:
Vytvoření skupin a přidání uživatelů:
sudo groupadd skupina_write sudo groupadd skupina_read sudo usermod -aG skupina_write uzivatel1 sudo usermod -aG skupina_read uzivatel2 sudo usermod -aG skupina_read uzivatel3Nastavení oprávnění na souborovém systému:
sudo chown -R :skupina_write /srv/samba/shared sudo chmod 775 /srv/samba/sharedPřidání uživatelů do Samby:
sudo smbpasswd -a uzivatel1 sudo smbpasswd -a uzivatel2 sudo smbpasswd -a uzivatel3
Konfigurace s anonymním přístupem a oprávněními
Cíl:
- Uživatel
uzivatel1má oprávnění k zápisu (write). - Ostatní uživatelé (včetně anonymních) mají pouze oprávnění ke čtení (
read).
- Uživatel
Konfigurace v
/etc/samba/smb.conf:[global] workgroup = WORKGROUP server string = Samba Server security = user map to guest = Bad User [shared] path = /srv/samba/shared browseable = yes writable = yes valid users = uzivatel1, @skupina_read write list = uzivatel1 guest ok = yes- Vysvětlení:
map to guest = Bad User: Umožňuje anonymní přístup, pokud uživatel nezadá platné přihlašovací údaje.guest ok = yes: Povoluje anonymní přístup ke sdílené složce.
- Vysvětlení:
Nastavení oprávnění na souborovém systému:
sudo chown -R uzivatel1:skupina_read /srv/samba/shared sudo chmod 775 /srv/samba/sharedPřidání uživatelů do Samby:
sudo smbpasswd -a uzivatel1 sudo smbpasswd -a uzivatel2 sudo smbpasswd -a uzivatel3
Testování konfigurace
Restartování Samby:
sudo systemctl restart smbdPřipojení k sdílené složce:
- Z Linuxu:
smbclient //server/shared -U uzivatel1 - Z Windows:
- Otevřít Průzkumník souborů a zadat
\\ip_adresa\shared.
- Otevřít Průzkumník souborů a zadat
- Z Linuxu:
Kontrola oprávnění:
- Zkuste vytvořit soubor jako
uzivatel1(mělo by to fungovat). - Zkuste vytvořit soubor jako
uzivatel2nebo anonymně (mělo by to selhat).
- Zkuste vytvořit soubor jako