Last Updated on 16/03/2025 by administrator
Install and Configure Samba Ubuntu 24.04
Install and Configure Samba Ubuntu 24.04
Motivace:
Samba je klíčovým nástrojem pro sdílení souborů mezi Linuxem a Windows, čímž umožňuje efektivní správu dat v heterogenním prostředí.
Je ideální pro domácí servery, firemní sítě a NAS řešení, kde je potřeba rychlý a bezpečný přístup k souborům.
Samba umožňuje nastavit přístupová práva pro různé uživatele, což pomáhá zajistit bezpečnost a kontrolu nad sdílenými daty. Díky podpoře autentizace uživatelů mohou být data chráněna heslem, zatímco anonymní přístup lze omezit pouze na čtení.
Je kompatibilní s Windows, Linuxem i macOS, což umožňuje bezproblémovou spolupráci mezi různými operačními systémy.
Díky podpoře protokolu SMB umožňuje rychlý a efektivní přenos dat přes síť. Nasazení Samby je snadné, flexibilní a vysoce konfigurovatelné, takže lze přizpůsobit různým potřebám.
OS:
Implementace instalace LibreNMS byla prakticky prováděna na Ubuntu 24.04 LTS, ale také na na open-source platformě Proxmox verze 8.3-1 s Ubuntu 24.04 LTS.
Implementace [1]:
Instalace Samba:
Příkazem apt update se provede aktualizace seznamu balíčků z repozitářů.
apt-get update -y
Nainstalovat balíček samba, který obsahuje Samba server:
sudo apt install samba -y
Aby služba Samba běžela automaticky po startu systému, aplikovat příkaz níže:
sudo systemctl enable smbd
a) Nastavení základního sdílení:
Vytvořit složku pro sdílení:
sudo mkdir -p /srv/samba/share
Pozn. Do adresáře srv se standardně umísťují soubory nejen pro Samba server, ale i pro webový či FTP server
Udělení práv pro všechny uživatele:
sudo chmod 777 /srv/samba/share
Otevřít soubor smb.conf ve složce /etc/samba:
vi /etc/samba/smb.conf
a vložit následujicí dolů:
[share] path = /srv/samba/share browsable = yes guest ok = yes read only = no create mask = 0777 directory mask = 0777
Legenda:
- [share] → název sdílené složky, je možné si jej upravit libovoně
- path → určuje skutečnou cestu na disku, kde se nachází složka, která bude sdílena, což je v tomto případě /srv/samba/share
- browsable = yes → parametr určuje, zda bude sdílení viditelné v síti
- guest ok = yes → určuje, zda mohou anonymní uživatelé přistupovat k sdílené složce bez přihlašovacích údajů
- read only = no → všichni uživatelé (i anonymní) mají právo zapisovat do sdílené složky
- create mask = 0777 → Hodnota 0777 znamená, že všichni uživatelé mají plný přístup (čtení, zápis, spouštění)
- directory mask = 0777 → všechny složky, které budou vytvořeny v této sdílené složce, budou mít přístup pro čtení, zápis a spouštění pro všechny uživatele
Pokud je nakonfigurovaný firewall (lze zjistit příkazem sudo ufw status), je nutné povolit provoz:
sudo ufw allow samba
Provést restart Samba služby:
service smbd restart
Hotovo!
Ověření:
Samba mi v tomto případě běží na IP adrese 192.168.0.146.
Ověření připojení z Windowsu:
Na Windows lze ověřit přístup přes Průzkumník souborů a zadat:
\\192.168.0.146
Pokud vyskočí okno pro přihlášení, jsou přihlašovací údaje guest/guest.
- Při testování na Windows 11 verze 23H2 – vyskakovalo okno pro přihlášení k Samba serveru
- Při testování na Windows 11 verze 24H2 – nevyskakovalo okno pro přihlášení k Samba serveru
Ověření připojení z Linuxu:
Přihlášení z CLI pod guest účtem:
smbclient //192.168.0.146/share -U guest%
V příkazu % za guest uživatelem znamená prázdné heslo. Pokud se objeví i tak výzva pro zadání hesla, stačí stisknout ENTER.
b) Pokročilé sdílení s právy:
V tomto příkladě mohou noví uživatele martin a jirka provádět všechny úpravy (read, write) nové složce share2. Všichni ostatní uživatelé budou mít pouze možnost složku share číst (read only).
Vytvořit uživatele martin a jirka:
sudo useradd -m martin sudo useradd -m jirka
Přidat uživatele martin a jirka do Samba. Při přidání bude potřeba pro každého uživatele vytvořit heslo:
sudo smbpasswd -a martin sudo smbpasswd -a jirka
Bude vytvořena nová složka share2 pro sdílení:
sudo mkdir -p /srv/samba/share2
Nastavit pro složku share2 správné oprávnění:
sudo chmod -R 0775 /srv/samba/share2 sudo chown -R nobody:nogroup /srv/samba/share2
Otevřít soubor smb.conf ve složce /etc/samba:
vi /etc/samba/smb.conf
a vložit následující dolů:
[share2] path = /srv/samba/share2 browsable = yes guest ok = yes read only = yes write list = martin, jirka force user = nobody force group = nogroup create mask = 0775 directory mask = 0775 public = yes security = user map to guest = Bad User
Legenda:
- [share2] → název sdílené složky, je možné si jej upravit libovoně
- path → určuje skutečnou cestu na disku, kde se nachází složka, která bude sdílena, což je v tomto případě /srv/samba/share2
- browsable = yes → parametr určuje, zda bude sdílení viditelné v síti
- guest ok = yes → určuje, zda mohou anonymní uživatelé přistupovat k sdílené složce bez přihlašovacích údajů
- read only = no → všichni uživatelé (i anonymní) mají právo zapisovat do sdílené složky
- write list = martin, jirka → tito uživatelé mohou zapisovat
- force user = nobody, force group = nogroup → zajistí, že anonymní (guest) připojení běží pod nobody/nogroup
- create mask = 0777 → hodnota 0777 znamená, že všichni uživatelé mají plný přístup (čtení, zápis, spouštění)
- directory mask = 0777 → všechny složky, které budou vytvořeny v této sdílené složce, budou mít přístup pro čtení, zápis a spouštění pro všechny uživatele
- public = yes → označuje sdílení jako veřejné.
- security = user → samba používá uživatelské ověřování.
- map to guest = Bad User → pokud se někdo pokusí přihlásit neexistujícím účtem, bude automaticky považován za guest uživatele bez vyskakovacího okna
Provést restart Samba služby:
service smbd restart
Hotovo!
Ověření:
Samba v tomto případě běží stále na IP adrese 192.168.0.146.
Ověření připojení z Windowsu:
Otevřít příkazový řádek (CMD) a vložit příkaz níže. Tímto se namapuje sdílená složka share2:
net use X: \\192.168.0.146\share2 /user:jirka vaseheslo /persistent:yes
Legenda:
- X: → Písmeno, které bude připojené jako disk.
- \\192.168.0.146\share2 → Cesta k Samba sdílení.
- /user:jirka → Uživatelské jméno
- vaseheslo → Heslo k účtu jirka
- /persistent:yes → Připojení zůstane i po restartu.
Namapovaný disk share2 se objeví v Tento počítač a je možné do něj zapisovat a provádět další změny:
Pro smazaní namapovaneho disku, použít příkaz níže:
net use X: /delete
Ověření připojení z Linuxu:
Přihlášení z CLI pod guest účtem:
smbclient //192.168.0.146/share2 -U martin
Výpis příkazu smbclient //192.168.0.146/share2 -U martin ukazuje, že došlo k úspěšnému připojení uživatele martin.
Password for [WORKGROUP\martin]: Try "help" to get a list of possible commands. smb: \>
Věřím, že článek Install and Configure Samba Ubuntu 24.04 pomohl.
Zdroj:
[1] https://linuxgenie.net/install-configure-samba-ubuntu-24-04