mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2026-11-02 10:52:22 +00:00
- The Kodi LXC configuration is edited on the host without stopping it, since the next step reboots it - Debian 13 uses wsdd2 for WS-Discovery
120 lines
11 KiB
JSON
120 lines
11 KiB
JSON
{
|
|
"meta": {
|
|
"title": "Añadir una unidad USB a un LXC y compartirla con Samba | Guías ProxMenux",
|
|
"description": "Conecta un disco duro USB o memoria USB a un contenedor LXC privilegiado en Proxmox VE, instala Samba dentro del contenedor y comparte el contenido por la red.",
|
|
"ogTitle": "Añadir una unidad USB a un LXC y compartirla con Samba",
|
|
"ogDescription": "Conecta una unidad USB a un LXC privilegiado en Proxmox VE, instala Samba dentro del contenedor y comparte el contenido por la LAN."
|
|
},
|
|
"header": {
|
|
"title": "Añadir un disco o memoria USB a un LXC y compartirlo por la red con Samba",
|
|
"description": "Conecta un disco duro USB o memoria USB a un contenedor LXC privilegiado en Proxmox VE, instala Samba dentro del contenedor y comparte el contenido por la red.",
|
|
"section": "Guías"
|
|
},
|
|
"recommended": {
|
|
"calloutTitle": "Recomendado",
|
|
"calloutIntro": "ProxMenux ahora expone las dos mitades de este flujo como menús guiados:",
|
|
"items": [
|
|
"<strong>Disk Manager → Format / Wipe Physical Disk</strong> para el paso de formateo.",
|
|
"<strong>Storage & Share Manager → LXC network sharing → Samba server in LXC</strong> para la instalación del CT privilegiado y la configuración de Samba."
|
|
],
|
|
"calloutOutro": "Los asistentes gestionan las particularidades de permisos de los contenedores sin privilegios, los perfiles de lectura y escritura, solo lectura o personalizados y el grupo sharedfiles. Esta guía explica los pasos manuales para que puedas entenderlos o configurarlos por tu cuenta."
|
|
},
|
|
"intro": {
|
|
"body": "A veces resulta útil añadir un disco duro o una memoria USB a un host Proxmox, sobre todo en un mini PC con expansión interna limitada. Esta guía cubre:",
|
|
"stepsTitle": "Qué vas a hacer",
|
|
"steps": [
|
|
"Conectar el disco USB a un LXC privilegiado.",
|
|
"Instalar Samba dentro del contenedor.",
|
|
"Compartir el contenido del disco por la LAN."
|
|
],
|
|
"useCasesTitle": "Casos de uso",
|
|
"useCases": [
|
|
"Alojar ficheros Torrent y servirlos en la red.",
|
|
"Dar soporte a un media server (Plex / Jellyfin / Emby).",
|
|
"Guardar documentos que escanea automáticamente Paperless.",
|
|
"Almacenamiento tipo NAS genérico para la red doméstica."
|
|
],
|
|
"privilegedCalloutTitle": "Contenedor privilegiado para este procedimiento",
|
|
"privilegedCalloutBody": "Este procedimiento utiliza un LXC privilegiado con un dispositivo de bloque como <code>mp0</code>. Para un contenedor sin privilegios, una alternativa es montar el sistema de archivos en el host y pasar su directorio mediante bind mount, con permisos y mapeo de identificadores adecuados. Consulta <strong>Gestor de almacenamiento y recursos compartidos → Configurar puntos de montaje LXC</strong> en ProxMenux."
|
|
},
|
|
"attach": {
|
|
"heading": "1. Conectar el disco USB al LXC",
|
|
"identifyHeading": "1.1 Identificar el dispositivo",
|
|
"identifyBody": "Compara la lista de discos <strong>antes</strong> y <strong>después</strong> de conectar la unidad USB — el dispositivo nuevo es tu objetivo.",
|
|
"beforeLabel": "Antes:",
|
|
"afterLabel": "Después:",
|
|
"imageBeforeAlt": "Lista de discos antes de añadir la unidad USB",
|
|
"imageAfterAlt": "Lista de discos después de añadir la unidad USB",
|
|
"lsblkBody": "También puedes usar <code>lsblk -o NAME,SIZE,MODEL,SERIAL</code> para listar cada dispositivo de bloque con su modelo y número de serie.",
|
|
"stableCalloutTitle": "Importante — usa un identificador estable",
|
|
"stableCalloutBody": "<code>/dev/sdb1</code> puede cambiar entre arranques si tienes varios discos USB. Busca el identificador persistente:",
|
|
"stableCalloutCode": "ls -l /dev/disk/by-id/",
|
|
"stableCalloutAfter": "Utiliza la entrada <code>/dev/disk/by-id/usb-...</code> de la partición elegida en la configuración LXC, en lugar de <code>/dev/sdb1</code>. Escoge la partición, no el disco completo: así seguirá identificada aunque cambie el orden de los dispositivos.",
|
|
"formatHeading": "1.2 Formatear el disco",
|
|
"formatBody": "ext4 es una opción práctica para recursos compartidos desde Linux: distingue mayúsculas, admite ACL POSIX y archivos grandes. El formateo destruye el contenido del sistema de archivos existente. Confirma la partición y ejecuta el comando en el <strong>host Proxmox</strong>:",
|
|
"formatCode": "mkfs.ext4 /dev/sdb1",
|
|
"formatAfter": "Reemplaza <code>/dev/sdb1</code> por el dispositivo de partición real — o por la ruta persistente <code>/dev/disk/by-id/usb-...-part1</code>.",
|
|
"mkdirHeading": "1.3 Crear el punto de montaje dentro del LXC",
|
|
"mkdirBody": "Dentro del LXC, crea el directorio donde aparecerá el disco (cualquier nombre vale):",
|
|
"mkdirCode": "mkdir /mnt/lxc_USB",
|
|
"wireHeading": "1.4 Configurar el dispositivo en LXC",
|
|
"wireBody": "En el <strong>host Proxmox</strong>, edita la configuración del contenedor. Sustituye <code>'<'CTID'>'</code> por su ID:",
|
|
"wireEditCode": "nano /etc/pve/lxc/CTID.conf",
|
|
"wireAddLine": "Añade esta línea:",
|
|
"wireConfigCode": "mp0: /dev/disk/by-id/usb-VENDOR_MODEL_SERIAL-part1,mp=/mnt/lxc_USB,backup=0",
|
|
"wireShortForm": "(O, si aceptas el riesgo de que la ruta del dispositivo cambie, la forma corta: <code>mp0: /dev/sdb1,mp=/mnt/lxc_USB,backup=0</code>.)",
|
|
"wireBackupNote": "El ejemplo utiliza <code>backup=0</code>. El contenido de los montajes de dispositivos y de tipo bind no se incluye en las copias <code>vzdump</code> del contenedor. Prepara una copia independiente de los datos del disco externo.",
|
|
"restartHeading": "1.5 Reiniciar el LXC y ajustar permisos",
|
|
"restartBody": "Reinicia el CT para aplicar el punto de montaje:",
|
|
"restartCode": "pct reboot CTID",
|
|
"permsBody": "Dentro del LXC, crea el usuario del recurso compartido antes de asignarle la propiedad y ajusta los permisos del directorio:",
|
|
"permsCode": "adduser --system --group --no-create-home --shell /usr/sbin/nologin proxmenux\nmkdir -p /mnt/lxc_USB\nchown -R proxmenux:proxmenux /mnt/lxc_USB\nchmod 770 /mnt/lxc_USB",
|
|
"permsNoteTitle": "Nota",
|
|
"permsNote": "Sustituye <code>proxmenux</code> por el nombre que elijas. El modo <code>770</code> permite acceder al propietario y al grupo, sin acceso para otros; es más restrictivo que <code>chmod -R 777</code>. El usuario se crea aquí y se registra en Samba en el paso 2.2."
|
|
},
|
|
"samba": {
|
|
"heading": "2. Instalar Samba",
|
|
"installHeading": "2.1 Instalar el paquete dentro del LXC",
|
|
"installCode": "apt-get update\napt-get install -y samba",
|
|
"confirmBody": "Confirma que el servicio está corriendo:",
|
|
"confirmCode": "systemctl status smbd.service",
|
|
"userHeading": "2.2 Verificar el usuario del recurso compartido",
|
|
"userBody": "El usuario <code>proxmenux</code> se creó en el paso 1.5 como usuario del sistema sin shell de inicio de sesión. Compruébalo antes de establecer la contraseña Samba; utiliza el nombre que hayas elegido en todos los pasos:",
|
|
"userCode": "id proxmenux",
|
|
"passwordBody": "Establece la contraseña de Samba (independiente de la contraseña del sistema — Samba mantiene su propio almacén de credenciales):",
|
|
"passwordCode": "smbpasswd -a proxmenux",
|
|
"aclHeading": "2.3 Configurar la propiedad / ACLs",
|
|
"aclBody": "Si el simple <code>chown</code> del paso 1.5 te basta, los permisos ya están listos. Para un control más fino (varios usuarios compartiendo la misma ruta con permisos distintos), usa ACLs:",
|
|
"aclCode": "apt-get install -y acl\nsetfacl -R -m \"u:proxmenux:rwx\" /mnt/lxc_USB\nsetfacl -d -R -m \"u:proxmenux:rwx\" /mnt/lxc_USB # default ACL — applies to new files"
|
|
},
|
|
"configure": {
|
|
"heading": "3. Configurar el recurso compartido Samba",
|
|
"editHeading": "3.1 Editar smb.conf",
|
|
"editCode": "nano /etc/samba/smb.conf",
|
|
"appendBody": "Añade una definición de share al final:",
|
|
"shareCode": "[lxc_usb]\n comment = Shared USB storage\n path = /mnt/lxc_USB\n read only = no\n writable = yes\n browseable = yes\n guest ok = no\n valid users = proxmenux\n create mask = 0660\n directory mask = 0770",
|
|
"validUsersNoteTitle": "Nota",
|
|
"validUsersNote": "La línea <code>valid users = proxmenux</code> restringe el acceso a ese único usuario Samba. Para acceso por grupo, usa <code>valid users = @samba_users</code> tras añadir el usuario o usuarios a un grupo llamado <code>samba_users</code>.",
|
|
"reloadHeading": "3.2 Recargar Samba",
|
|
"reloadCode": "systemctl restart smbd"
|
|
},
|
|
"verify": {
|
|
"heading": "4. Verificar el acceso",
|
|
"body": "Desde cualquier cliente de la LAN, navega a <code>\\\\'<'CT_IP'>'</code> (Windows) o <code>smb://'<'CT_IP'>'</code> (gestores de ficheros de macOS / Linux). Autentícate con el usuario Samba (<code>proxmenux</code>) y la contraseña que pusiste con <code>smbpasswd</code>.",
|
|
"image1Alt": "Acceso al servidor Samba desde un cliente",
|
|
"image2Alt": "Prompt de autenticación de Samba",
|
|
"usageBody": "Puedes usar el share tanto dentro del contenedor como por la red:",
|
|
"image3Alt": "Uso de la unidad USB a través del share"
|
|
},
|
|
"troubleshoot": {
|
|
"heading": "Solución de problemas",
|
|
"items": [
|
|
"<strong><code>pct reboot</code> falla con “device not found”:</strong> comprueba que la ruta del dispositivo en <code>mp0</code> exista en el host. Revisa <code>ls -l /dev/disk/by-id/</code> y corrígela si hace falta.",
|
|
"<strong>El CT arranca, pero <code>/mnt/lxc_USB</code> está vacío:</strong> puede faltar el montaje o estar vacío el sistema de archivos. Comprueba desde el host con <code>pct exec '<'CTID'>' -- mount | grep lxc_USB</code>. Si no aparece el montaje, revisa su configuración, la ruta del dispositivo y los errores de arranque.",
|
|
"<strong>Samba autentica, pero falla al escribir con “Permission denied”:</strong> revisa los permisos Linux del directorio y los ajustes de escritura del recurso compartido. Comprueba <code>chown</code> y <code>setfacl</code> en las secciones 1.5 y 2.3.",
|
|
"<strong>El recurso no aparece en la red, pero <code>smb://'<'ip'>'/lxc_usb</code> funciona:</strong> el descubrimiento NetBIOS antiguo utiliza <code>nmbd</code>. Windows moderno usa WS-Discovery; en Debian 12 instala <code>apt-get install -y wsdd</code>; en Debian 13, donde <code>wsdd</code> no está en el archivo estable, usa <code>apt-get install -y wsdd2</code>. Revisa el servicio y el cortafuegos. Habilitar solo <code>nmbd</code> no proporciona WS-Discovery.",
|
|
"<strong>Para añadir otro usuario al recurso compartido:</strong> créalo con <code>adduser</code>, regístralo con <code>smbpasswd -a</code> y añádelo a la lista <code>valid users =</code>, separada por comas. Concede también los permisos o ACL necesarios en el sistema de archivos."
|
|
]
|
|
}
|
|
}
|