Docker atmoz/SFTP

Crear als usuaris en aquest fitxer, seguint aquesta nomenclatura:

  • Per contrasenyes en text clar:

    usuari:contrasenya:UID:GID:carpetes

  • Per contrasenyes amb hash (`openssl passwd -6 "password"`):

    usuari:hash:e:UID:GID:carpetes

  • les carpetes separades per comes:
    # usuari:contrasenya:UID:GID:carpetes
    clienteA:ClaveA123:1001:1001:projecte1,projecte2
    # usuari:hash:e:UID:GID:carpetes
    clienteB:$6$pAwhKYx2ifn9gUh.$t5cvgQJVjXvGVcpb7OGZ0h0E8fDJp6r30F5g0UcsWObr3qrTTezGJN2t5an.pImyOUAxMkjPTbU1Nda4DLEn6.:e:1003:1003:projecte3,projecte4

s'ha de crear un directori home o un enllaç simbòlic amb permisos de root

sudo chwon root:root ./data/home
sudo chmod -R 755 ./data/home

Es poden modificar els permisos dels directoris d'usuaris per permetre (o no) només lectura o evitar la creació de directoris, seguint les normes dels permisos Linux.

chown root:grupoClienteA /ruta/facturas
chmod 755 /ruta/facturas   # lectura y listado, sin escritura para el grupo

1.compartir directori en el $HOME dels usuaris, a docker-compose:

    volumes:
      - ./data/users.conf:/etc/sftp/users.conf:ro
      - ./data/home:/home
      - ./data/shared:/home/clienteA/compartida
      - ./data/shared:/home/clienteB/compartida
      - ./data/ssh_keys/ssh_host_ed25519_key:/etc/ssh/ssh_host_ed25519_key
      - ./data/ssh_keys/ssh_host_rsa_key:/etc/ssh/ssh_host_rsa_key

2.assignar persmisos:

sudo mkdir -p ./data/shared
sudo chown root:1100 ./data/shared
sudo chmod 2770 ./data/shared       # setgid: los archivos nuevos heredan el grupo 1100
sudo setfacl -d -m u::rwx,g::rwx,o::--- ./data/shared

ubicar-les a ./data/ssh_keys:

ssh-keygen -t ed25519 -f ./ssh_keys/ssh_host_ed25519_key -N ""
ssh-keygen -t rsa -b 4096 -f ./ssh_keys/ssh_host_rsa_key -N ""

canviar els permisos i propietat:

chown root *_key
sudo chmod go-rx

Consultar l'article

  • tech/docker/sftp.txt
  • Darrera modificació: 28/09/2026 14:52
  • per mate