{ "meta": { "title": "Body pripojenia LXC (hostiteľ ↔ kontajner) | Dokumentácia ProxMenux", "description": "LXC Mount Manager sprístupní adresár hostiteľa jednému alebo viacerým kontajnerom LXC cez bind mount pomocou pct set -mpN. Rieši osobitosti oprávnení neprivilegovaných kontajnerov, opravuje pripojenia CIFS a NFS na hostiteľovi a vnútri kontajnera nič nemení.", "ogTitle": "Body pripojenia LXC (hostiteľ ↔ kontajner) | Dokumentácia ProxMenux", "ogDescription": "Sprístupnite adresáre hostiteľa kontajnerom LXC cez bind mount. Prakticky rieši mapovanie UID neprivilegovaných kontajnerov a opravuje prístup CIFS / NFS na hostiteľovi." }, "header": { "title": "Body pripojenia LXC (hostiteľ ↔ kontajner)", "description": "Hlavný nástroj na zdieľanie priečinkov medzi hostiteľom Proxmox a kontajnermi LXC. Sprístupní ľubovoľný adresár hostiteľa jednému alebo viacerým kontajnerom cez bind mount pomocou natívnej syntaxe pct set -mpN. Oprávnenia neprivilegovaných kontajnerov rieši na hostiteľovi a vnútri kontajnera nič nemení.", "section": "Úložisko a zdieľanie · LXC" }, "intro": { "title": "Čo to robí?", "body": "Vyberte adresár na hostiteľovi Proxmox (lokálny priečinok, pripojené zdieľanie NAS alebo úložisko spravované Proxmoxom) a sprístupnite ho v kontajneri LXC na zvolenej ceste. Oprávnenia fungujú aj pre neprivilegované kontajnery bez zmien vnútri kontajnera." }, "bigPicture": { "heading": "Ako to funguje (veľký obraz)", "intro": "Pri bind mounte Proxmox požiada jadro, aby adresár X hostiteľa zobrazovalo aj na ceste Y v kontajneri. Bez kopírovania, synchronizácie či siete: obe strany vidia súčasne tie isté súbory.", "sourceLabel": "Hostiteľ Proxmox", "sourceDetail": "/mnt/data\n(váš priečinok)", "targetLabel": "Kontajner LXC", "targetDetail": "/mnt/data\n(Ukazuje sa tu)", "arrowLabel": "bind mount", "outro": "Cesta hostiteľa vľavo a cesta kontajnera vpravo sa môžu líšiť. Napríklad /mnt/nas-films na hostiteľovi môže byť /media/films v kontajneri. Skript pridá položku do konfigurácie kontajnera (/etc/pve/lxc/<ctid>.conf) s ďalším voľným indexom mpN a dvoma predvolenými nastaveniami:", "items": [ "shared=1 — označí dáta ako zdieľané, takže ich Proxmox nemigruje s CT. Tento príznak dáta nereplikuje: rovnaká cesta a dáta už musia byť dostupné na cieľovom uzle.", "backup=0 — vylúči bind mount zo záloh vzdump. Dáta sú na hostiteľovi a zálohujete ich samostatne." ] }, "perms": { "heading": "Spracovanie oprávnení", "intro": "Bind mounty sú v princípe jednoduché. Náročné sú oprávnenia: neprivilegovaný kontajner LXC posúva UID o +100000, takže súbor vytvorený používateľom 1000 v CT má na hostiteľovi UID 101000, ktoré nepatrí bežnému účtu hostiteľa. ProxMenux namiesto zjednocovania UID hostiteľa a kontajnerov upraví oprávnenia na strane hostiteľa podľa typu adresára:", "headerType": "Typ adresára hostiteľa", "headerAction": "Čo skript ponúka vykonať", "localType": "Lokálny priečinok", "localTypeSub": "napr. /mnt/data", "localActionRich": "chmod o+rwx + setfacl o::rwx v adresári hostiteľa. Ponúka sa len vtedy, ak CT nie je privilegované a aktuálne práva sú nedostatočné.", "cifsType": "Pripojené CIFS / SMB", "cifsTypeSub": "napr. /mnt/pve/cifs-…", "cifsActionRich": "Znova pripojiť s uid=0, gid=0, file_mode=0777, dir_mode=0777, takže CT (akékoľvek UID) môže čítať a zapisovať do zdieľania. /etc/fstab je aktualizovaný.", "nfsType": "Pripojená NFS", "nfsTypeSub": "napr. /mnt/pve/nfs-…", "nfsActionRich": "chmod 1777 a setfacl o::rwx na pripojení NFS. Neobídu squashing na serveri: ak nemôže zapisovať ani root hostiteľa, skript poradí upraviť export na serveri NFS.", "privTitle": "Privilegované kontajnery nepotrebujú nič z toho.", "privBody": "V privilegovanom CT je UID 0 rovnaké ako UID 0 hostiteľa. Používateľ root v CT preto môže priamo čítať a zapisovať do adresára hostiteľa bez úprav oprávnení. Skript to rozpozná a úpravu oprávnení úplne preskočí.", "noCtTitle": "Skript nikdy nemení nič vnútri kontajnera", "noCtBody": "Všetky úpravy oprávnení prebiehajú na súborovom systéme hostiteľa. Žiadne zmeny vlastníkov cez pct exec, vytváranie skupín v CT ani fstab v kontajneri. Pri neskoršom použití toho istého adresára v inom CT platia rovnaké oprávnenia automaticky, bez nastavovania každého kontajnera." }, "writes": { "heading": "Čo ProxMenux píše a čo nie", "intro": "Bežný zmätok pri pripájaní väzby do neprivilegovaného CT: ľudia predpokladajú, že ProxMenux musí zapisovať lxc.idmap položky do /etc/pve/lxc/<CTID>.conf. Nie. K tomuto súboru je pripojený iba jeden riadok – samotný bind mount:", "outro": "Výstupný riadok na konci „Neprivilegovaný kontajner — posun UID: 100000“ je len informačný. Oznamuje predvolené neprivilegované mapovanie Proxmoxu (root v CT = UID 100000 hostiteľa). Skript toto mapovanie nijako nenastavuje.", "twoWaysHeading": "Dva spôsoby riešenia oprávnení — a prečo si ProxMenux vyberá jeden", "headerApproach": "Prístup", "headerChanges": "Čo to mení", "headerWhen": "Kedy je vhodný", "hostType": "Oprávnenia na hostiteľovi", "hostTypeSub": "(čo tento scenár robí)", "hostChangesRich": "chmod o+rwx + setfacl o::rwx v adresári hostiteľa. CT zmapované UID (100000+) spadajú do \"ostatných\" vedra, takže otvorenie ostatní je dosť.", "hostWhen": "Všeobecný prístup k zdieľanému priečinku z ľubovoľného CT. Viaceré CT používajú rovnaký adresár hostiteľa. Jednoduché a opakovane použiteľné.", "idmapTypeRich": "lxc.idmap", "idmapTypeSub": "(nepoužitý týmto skriptom)", "idmapChangesRich": "Vlastné UID/GID mapovanie v /etc/pve/lxc/<CTID>.conf plus zodpovedajúce /etc/subuid + /etc/subgid položky na hostiteľa. CT sa musí reštartovať pri každej zmene.", "idmapWhenRich": "Potrebujete špecifickú UID vnútri CT mapovať na špecifickú UID na hostiteľa (napr. media:1000 v CT musí vlastniť súbory ako media:1000 na hostiteľa, takže NFS nemá squash). Pevnejšie nastavenie, zvyčajne stojí za to len pre tento presný scenár.", "idmapTipTitle": "Keď skutočne potrebujete lxc.idmap", "idmapTipBody": "Ručné mapovanie použite, ak majú súbory z CT na hostiteľovi patriť konkrétnemu číselnému UID/GID, napríklad spoločnému vlastníkovi s používateľom hostiteľa. Neobíde NFS all_squash; anonymnú identitu a oprávnenia stále určuje server. Podľa potreby ručne pridajte položky lxc.idmap. Riadok bind mountu je od nich nezávislý." }, "opening": { "heading": "Otvorenie nástroja", "body": "V hlavnej ponuke ProxMenux otvorte Storage & Share Manager → Configure LXC Mount Points (Host ↔ Container). Zobrazí sa podponuka s tromi možnosťami:", "imageAlt": "Ponuka LXC Mount Manager — Pridať / Zobraziť / Odstrániť" }, "addFlow": { "heading": "Pridať pripojenie — celý postup", "intro": "Technický pohľad, pre kedy chcete presne vedieť, čo robí každý dialóg:" }, "sources": { "heading": "Čo si môžete vybrať ako hostiteľský adresár", "intro": "Výber adresára hostiteľa je najpodrobnejší v časti Úložisko a zdieľanie. Prehľadá štyri zdroje a ponúkne zoznam bez duplicít:", "headerSource": "Zdroj", "headerWhere": "Odkiaľ pochádza", "headerLabel": "Štítok v menu", "rows": [ { "source": "Aktívne sieťové pripojenia", "whereRich": "Aktuálne pripojené zdieľania CIFS / NFS načítané z /proc/mounts.", "labelRich": "NFS [used/size] alebo CIFS/SMB [used/size]" }, { "source": "Neaktívne pripojenia fstab", "whereRich": "Definované v /etc/fstab, ale momentálne nie sú namontované.", "labelRich": "fstab(off)-NFS / fstab(off)-CIFS/SMB" }, { "source": "Miestne adresáre", "whereRich": "Sub-adresáre pod /mnt, ktoré nie sú sieťové pripojenia.", "labelRich": "Local [size]" }, { "source": "Úložiská Proxmox", "whereRich": "Skladovacie cesty pod /mnt/pve/* (NFS / CIFS registrované cez pvesm).", "labelRich": "PVE-NFS / PVE-CIFS/SMB / Proxmox-Storage" }, { "source": "Ručný záznam", "where": "Čokoľvek iné, zadajte absolútnu cestu.", "labelRich": "Zadajte cestu manuálne" } ], "tipTitle": "Interné cesty Proxmox sú filtrované", "tipBody": "Výber vynechá interné cesty Proxmoxu (/mnt/pve/local, /mnt/pve/local-lvm, /mnt/pve/backup atď.). Sú vyhradené pre interné použitie a nemali by sa sprístupňovať cez bind mount. Zobrazia sa iba úložiská pridané používateľom." }, "manual": { "heading": "Ručný ekvivalent", "privIntro": "Pre privilegovaný kontajner — najjednoduchší prípad bez úprav oprávnení:", "unprivLocalIntro": "Pre neprivilegovaný kontajner s lokálnym adresárom hostiteľa — najprv otvorte oprávnenia na hostiteľovi:", "unprivCifsIntro": "Pre neprivilegovaný kontajner s zdieľaním CIFS už namontovaný na hostiteľa:" }, "view": { "heading": "Zobraziť body pripojenia", "body": "Vypíše všetky položky mpN všetkých kontajnerov na hostiteľovi Proxmox, zoskupené podľa ID CT. Zobrazí cestu hostiteľa → cestu kontajnera aj ďalšie voľby. Je to pohľad iba na čítanie, vhodný na kontrolu pred pridaním či odstránením." }, "remove": { "heading": "Odstrániť bod pripojenia", "body": "Vyberte kontajner, položku mpN a potvrďte. Skript pomocou pct set --delete mpN odstráni položku z konfigurácie CT a ponúkne reštart bežiaceho kontajnera. Adresár hostiteľa a jeho obsah zostanú nedotknuté. Pripojenie môžete neskôr pridať znova alebo ten istý adresár pripojiť inému CT.", "warnTitle": "Bežiace kontajnery potrebujú reštart, aby sa zmeny prejavili", "warnBody": "Pridanie aj odstránenie bodov pripojenia sa zobrazí vo vnútri kontajnera až po reštarte. Skript ponúka jedno kliknutie pct reboot na konci každej operácie; môžete odmietnuť a reštartovať neskôr." }, "troubleshoot": { "heading": "Riešenie problémov", "noMountTitle": "Pripojenie sa zobrazuje v pct config, ale nie v kontajneri", "noMountBody": "Bind mounty sa pripájajú pri spustení kontajnera. Ak ste pripojenie pridali počas behu CT, reštartujte ho pomocou pct reboot <ctid>. Ak stále chýba aj po reštarte, príkazom pct config <ctid> overte, že záznam existuje a cesta na hostiteľovi skutočne obsahuje adresár.", "noWriteTitle": "Kontajner môže vidieť adresár, ale nemôže písať", "noWriteBody": "Takmer vždy ide o oprávnenia. Pri neprivilegovanom CT zopakujte opravu oprávnení v skripte; ACL adresára hostiteľa mohol zmeniť rsync, obnova zálohy alebo ručné chmod. Pri CIFS overte voľby na hostiteľovi pomocou findmnt /mnt/pve/cifs-… a hodnoty uid= / gid= / file_mode=.", "alreadyTitle": "\"Táto cesta sa už používa ako bod pripojenia v tomto kontajneri\"", "alreadyBody": "Vybrali ste si rovnakú cestu kontajnera, ktorá je už pripojená k inému adresáru. Buď vyberiete inú cestu kontajnera, alebo najprv odstráňte existujúci bod pripojenia.", "nfsTitle": "NFS prístup zablokovaný aj po použití hostiteľa fix", "nfsIntro": "Váš NFS server je squashing koreň alebo všetky spojenia. Skript to môže detekovať (snaží sa napísať testovací súbor z hostiteľa) a zobrazí usmernenie na strane servera. Dve spoločné serverové opravy pre export:", "nfsItems": [ "no_root_squash — privilegované CT môžu zapisovať priamo.", "all_squash,anonuid=65534,anongid=65534 pre neprivilegované CT." ], "nfsOutro": "Tieto zmeny sa dejú na serveri NFS (TrueNAS, Synology, váš vlastný export, ...), nie na serveri Proxmox.", "fstabOffTitle": "Pripojenie \"fstab(off) \" položky nič nerobí", "fstabOffBody": "Zoznam zobrazuje položky fstab(off)-, ak je sieťové pripojenie definované vo fstab, ale momentálne nie je pripojené. Skript umožní sprístupniť cestu cez bind mount, no adresár zostane prázdny, kým zdieľanie skutočne nepripojíte príkazom mount <path> na hostiteľovi. Najskôr pripojte zdieľanie a až potom ho sprístupnite CT." }, "related": { "heading": "Súvisiace", "items": [ { "href": "/docs/storage-share/host-local-shared", "label": "Pridať zdieľaný adresár na hostiteľa", "tailRich": " — Typický prvý krok: pripraviť /mnt/shared na hostiteľa pred viazaním-pripojiť ho do jedného alebo viacerých CT tu." }, { "href": "/docs/storage-share/host-nfs", "label": "Pridať NFS zdieľanie ako Proxmox úložisko", "extraHref": "/docs/storage-share/host-samba", "extraLabel": "Pridať Samba zdieľanie ako Proxmox úložisko", "joiner": " / ", "tailRich": " — Najskôr zaregistrujte externé zdieľanie v Proxmoxe, potom priviažte jeho cestu /mnt/pve/<id> do CT tu." }, { "href": "/docs/storage-share/lxc-nfs-client", "label": "NFS klient v LXC", "extraHref": "/docs/storage-share/lxc-samba-client", "extraLabel": "Samba klient v LXC", "joiner": " / ", "tail": " - Alternatíva, keď chcete CT sám pripojiť zdieľanie (vyžaduje privilegovaný kontajner)." } ] } }