= Docker atmoz/SFTP {{tag>docker imagen}} ## users.conf ## 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: ```ini # 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 ``` ## directori home ## s'ha de crear un directori **home** o un enllaç simbòlic amb permisos de root ```bash sudo chwon root:root ./data/home sudo chmod -R 755 ./data/home ``` ### permisos ### 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. ```bash chown root:grupoClienteA /ruta/facturas chmod 755 /ruta/facturas # lectura y listado, sin escritura para el grupo ``` ### carpetes compartides entre usuaris ### 1.compartir directori en el **$HOME** dels usuaris, a docker-compose: ```yaml 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: ```bash 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 ``` ## generació claus ## ubicar-les a **./data/ssh_keys**: ```bash 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: ```bash chown root *_key sudo chmod go-rx ``` ## restriccions IP ## [Consultar l'article ](https://matebcn.eu/tech:docker:restriccion-ip)