Když jsem používal Home Assistant OS na Raspberry Pi, byl jsem zvyklý na rozšíření File Editor, díky kterému jsem mohl upravovat .YAML soubory přímo v prohlížeči, v administraci Home Assistant. Core však nemá panel Sepervisor a nelze v něm instalovat rozšiřující balíčky, takže jsem o tuto pohodlnou možnost úpravy souborů přišel. Přemýšlel jsem nad tím, jak s úpravou souborů odejít z terminálu do prostředí Windows a volba nakonec padla na sdílení souborů přes Samba.
Kroky v reForis
- V administraci routeru, v rozhraní reForis přejdeme v menu na „Správa balíčků“ a dále na Balíčky
- Zaškrtneme balíček „NAS“ a v něm „Samba“. Úplně dole klikneme na „Uložit“
- Restartujeme router
Kroky v LuCI – Síťová sdílení
- Přihlasíme se do LuCI a v menu Služby uvidíme 2 nové položky.
- HDD Idle, slouží k nastavení automatického vypínání disků, při jejich nečinnosti.
- Network Shares, které slouží ke sdílení zvolených složek. Později se tato položka začala zobrazovat jako „Síťová sdílení“. Nejsme si jistý, jestli se tak stalo po dalším restartu, nebo kdy vlastně.
- V Menu > Služby > Network Shares v části Obecná nastavení můžeme změnit položku „popis“, tedy pojmenování našeho sdíleného místa. Pokud to uděláme, musíme naše změny uložit kliknutím na tlačítko „Uložit & použít“
- V tabulce Shared Directories (sdílené adresáře) klikneme na tlačítko Přidat
- Zadáme název přípojného bodu, cestu a jméno povoleného uživatele.
Položka v tabulce | Vložená hodnota |
---|---|
Název | HomeAssistant |
Cesta | /srv/lxc/HomeAssistant/rootfs/home/homeassistant/.homeassistant |
Povolení uživatelé | homeassistant |
- Klikneme na tlačítko „Uložit & použít“
Kroky v LuCI – Přípojné body
- V Menu > Systém > Přípojné body v části Přípojné body, klikneme na tlačítko „Přidat“. Přípojný bod nastavíme podle tabulky a obrázku níže.
Položka v tabulce | Vložená hodnota |
---|---|
UUID — párovat dle UUID — | vyberte ze seznamu UUID vašeho disku, poznáte ho snadno podle velikosti disku |
Přípojný bod — vlastní — | /srv/lxc/HomeAssistant/rootfs/home/homeassistant/.homeassistant |
- Klikneme na tlačítko „Uložit“ a poté na „Uložit a použít“
Podle originálního návodu by tohle mělo stačit. U mě se z nějakého důvodu nevytvořil konfigurační soubor smb.conf, ale pouze smb.conf.template. Následně mě rady na fóru nasměrovaly na manuální vytvoření konfiguračního souboru a chyby začaly přibývat. Nevytvářejte config kopírováním souboru smb.conf.template, ale raději restartujte router. Při dalším startu by se měl konfigurační soubor automaticky vytvořit.
- Restartujte router, případně místo restartu asi bude fungovat i spuštění / restartování balíčku samba4 v administračním rozhraní LuCI. Dostaneme se tam přes Menu > Systém > Po spuštění. V tabulce vyhledáme Initskript samba4, zkontrolujeme, že svítí zelené tlačítko Zapnuto a klikneme na restart.
Kroky v terminálu – vytvoření Samba uživatele
- Spustíme příkazový řádek a připojíme se přes ssh k IP adrese routeru. Pokud používáme výchozí IP adresu, zadáme
ssh root@192.168.1.1
- Zobrazíme si UID a GID vlastníka složek LXC kontejneru. K tomu slouží příkaz ls s parametrem -l. Tímto způsobem si zobrazíme i přístupová práva.
ls -l /srv/lxc/HomeAssistant/rootfs/home/homeassistant/.homeassistant
První číslo 998, v mém výpisu, je UID (ID uživatele), druhé číslo 998 je GID (ID skupiny)
- Založíme skupinu pojmenovanou homeasisstant se specifickým GID
groupadd -g 998 homeassistant
- Založíme uživatele homeassistant se specifickým UID a GID
useradd homeassistant -u 998 -g 998
- Založíme Samba uživatele pojmenovaného homeassistant. Následně budeme terminálem vyzvání ke zvolení dostatečně bezpečného hesla, pro nově vytvářeného uživatele. Pomocí tohoto uživatelského jména a hesla budeme ve Windows připojovat novou síťovou jednotku.
smbpasswd -a homeassistant
Kroky ve Windows – připojení síťové jednotky
- Otevřeme průzkumník souborů (např. stiskem kláves WIN + E) a v něm otevřeme Tento počítač
- Ve Windows 10 klikneme na kartě Počítač na ikonku Připojit síťovou jednotku. Ve Windows 11 klikneme na 3 tečky a vyberte volbu Připojit síťovou jednotku.
- Zvolíme písmeno jednotky, zadáme cestu ke složce a zatrhneme volby Znovu připojit při přihlášení a Připojit pomocí jiných přihlašovacích údajů.
- Zadáme přihlašovací údaje (jméno a heslo) a zatrhneme volbu Zapamatovat přihlašovací údaje.
Nyní můžeme složku s Home Assistant otevřít a upravovat soubory nebo přidávat složky, soubory, obrázky, a podobně. Pro úpravu .YAML souborů už chybí jen nějaký vhodný editor, který by zobrazoval syntaxi a upozorňoval na případné chyby.
Zdroje, ze kterých jsem čerpal:
- Jako základ pro tento článek posloužila oficiální dokumentace How To NAS, ale jak to tak se všemi návody bývá, předpokládá pokročilejší znalosti a bez výrazné pomoci na Twitteru (odkaz odebrán 13.9.2023 v rámci distancování se od sociální sítě X) bych to tak rychle dohromady nedal.
- Narazil jsem také na rozšířené nastavení přístupu k adresářům pomocí ACL (Access Control Lists), ale nakonec to můj problém neřešilo, protože Samba bez dalšího rozšíření neumí s ACL oprávněními pracovat.
- Dalším užitečným zdrojem byl český článek o přístupových právech v Linuxu. A dále dotaz na Stackoverflow.
Tip
Pokud se vám nedaří připojit síťová jednotka, zkontrolujte v terminálu, že je Samba spuštěná. Pokud po zadání následujícího příkazu máte prázdný výpis běžících procesů, Samba není spuštěná.
ps aux | grep /usr/sbin/smbd