Jak nastavit přístup k Proxmox LXC kontejneru z Windows?

V tomto návodu si ukážeme, jak nastavit sdílení souborů mezi vaším LXC kontejnerem a Windows PC. Konfigurace je nastavena pro sdílení na lokální síti, takže oprávnění jsou benevolentní. V případě, že by se jednalo o instalaci veřejně dostupnou, bude nutné nastavit sdílení mnohem restriktivnějším způsobem.

V tomto článku si ukážeme jednoduchý postup, jak zpřístupnit složku Proxmox LXC kontejneru, tak aby byla dostupná z lokální sítě prostřednictvím Windows.

Mít přístup k souborům uloženým v kontejneru Proxmox v místní síti přímo z Windows může být užitečné - v mém případě byl hlavní důvod transcoding video a audio soborů, které v tomto kontejneru leží.

Krok 1: Instalace Samba v LXC Kontejneru

Připojte se k vašemu LXC kontejneru pomocí SSH klienta (např. PUTTY) a nainstalujte Sambu.

sudo apt-get install samba

Krok 2: Vytvoření Uživatele

Vytvoření nového uživatele "sambauser" pro přístup do sdílené složky a nastavení uživatelského heslo.

sudo adduser sambauser
sudo smbpasswd -a sambauser

Nyní ještě nastvíme oprávnění uživatele - pokud ještě nemáte nainstalován ACL, můžete jej nainstalovat pomocí sudo apt-get install acl.

Použijte příkaz setfacl pro přidání oprávnění pro sambauser k složce /DATA/Media

Následující příkaz přidá uživateli oprávnění pro čtení, zápis a spouštění v této složce.

sudo setfacl -m u:sambauser:rwx /DATA/Media

Ověříme nastavení oprávnění:

getfacl /DATA/Media

Krok 2: Konfigurace sdílené složky

Otevřete konfigurační soubor pro službu Samba.

sudo nano /etc/samba/smb.conf

Na konec souboru stačí přidat sekci pro sdílení požadované složky, jejíž název uvedeme v hranatých závorkách.

[Media]
comment = My media directory
path = /DATA/Media
public = Yes
guest ok = Yes
read only = no
browsable = Yes
create mask = 0664
directory mask = 0775
force user = sambauser

Po úpravě stačí stisknout CRTL+O a ENTER. Tím se soubor uloží a můžeme restartovat službu Samba.

Co znamenají jednotlivé konfigurační direktivy?

  • comment = My media directory - Tento komentář slouží jako popis sdílení. Je to volitelný popisek, který se může zobrazovat uživatelům.

  • path = /DATA/Media - Určuje cestu k adresáři, který chcete sdílet na síti. Můžete sdílet jakýkoliv jiný adresář na vašem systému, stačí změnit cestu.

  • public = Yes - Označuje, že sdílení je veřejné. Nevyžaduje se přihlašování uživatele. Alternativně public = No vyžaduje, aby uživatelé byli ověřeni před přístupem ke sdílení.

  • guest ok = Yes - Umožňuje přístup bez ověření uživatele. Další nastavené je guest ok = No znamená, že přístup mají pouze ověření uživatelé.

  • read only = no - Umožňuje uživatelům nejen číst, ale i zapisovat do sdílené složky. Alternativně je možné nastavit read only = Yes , což omezuje uživatele pouze na čtení souborů.

  • browsable = Yes - Umožňuje uživatelům vidět sdílenou složku při procházení sítě. Alternativně je možné nastavit browsable = No pak skryje sdílení a složka nebude vidět při procházení sítě, ale stále bude přístupná, pokud uživatel zná přesný název sdílení.

  • create mask = 0664 - Nastavuje výchozí oprávnění pro nově vytvořené soubory.

  • directory mask = 0775 - Nastavuje výchozí oprávnění pro nově vytvořené adresáře

  • force user = sambauser - Všechny operace na souborech budou prováděny jako uživatel sambauser.

Krok 3: Restart Služby Samba

Po úpravě konfigurace je nrestartovat službu Samba

sudo systemctl restart smbd

Krok 4: Nastavení Windows pro Přístup ke Sdílené Složce

Na Windows otevřete Průzkumníka souborů a do adresního řádku zadejte IP adresu stroje na kterém běží Proxmox LXC kontejner.

//192.168.1.50 #adresa LXC kontejneru v místní síti

Krok 5: Mapování Síťového Disku (Volitelné)

V Průzkumníku souborů na Windows můžete sdílenou složku namapovat jako síťový disk pro snadný přístup a opětovné připojení jednotky po dalším startu Windows. Stačí na procházenou složku kliknout pravým tlačítkem myši a zvolit "Mapovat síťovou jednotku".