nixos-config/containers/vsftpd.nix

65 lines
2.0 KiB
Nix

{ config, pkgs, ... }:
{
containers.vsftpd = {
autoStart = true;
config =
{ config, pkgs, ... }:
{
services.vsftpd = {
enable = true;
forceLocalLoginsSSL = true;
forceLocalDataSSL = true;
userlistDeny = false;
localUsers = true;
userlist = ["claire" "manu" "lakeu" "fusil" "stryxion"];
rsaCertFile = "/var/vsftpd/vsftpd.pem";
extraConfig = ''
pasv_min_port=64000
pasv_max_port=65535
local_root=/mnt/medias
'';
};
users.extraUsers = {
claire = {
isNormalUser = true;
hashedPassword = "$6$DjEjaibh$cRoOEHH.CjUgXXwyVphgnOGMhD3AVjPtawQb9BxvNSmWNqfcxoNH.6HhdxYa7PM0y0yctYXjsAc.vnkIov/NA/";
description = "Claire TREHIOU";
};
manu = {
isNormalUser = true;
hashedPassword = "$6$YGNIdGEclo$JcUotBS6hqlpENjjUeYhDjtrwxu10oARF4Nq4tEo072Sumr3Rl/w3ZXSHI5/3RxfvUMmJ4ulUVctBLhwrqP.g0";
description = "Emmanuel ZENNER";
};
lakeu = {
isNormalUser = true;
hashedPassword = "$6$Y7Rohw3xMzCGp$DVTZVAQccBeM/iVUH1IOgkXUohWjTvujNuvekezWS3vdEm1BUxkYZqH2ECHj5DN.ZiGFjJHhBh7PpbE8GDxSz.";
description = "Lakeu";
};
fusil = {
isNormalUser = true;
hashedPassword = "$6$HndxtEEO1w4$FC6rXf1h98tyt0Ay670iz1jbaNj8vKwH8BHYf3vsbSennA63r94x67I5KxmVOxOIEbIf55zIWFsM8GpyJ9K6Y/";
description = "Fusil";
};
stryxion = {
isNormalUser = true;
hashedPassword = "$6$KZKwBLI6yGuvFg2Q$VCfSnhAacgxlxybTyuCDyNQ2InM8ppG3aa3Bw176TiNAX8tHWUpKesfI9YfcCoGAi1zSzA7b6uC8BmmfrQwg1.";
description = "Stryxion";
};
};
};
bindMounts = {
"/var/vsftpd/vsftpd.pem" = {
hostPath = "/var/vsftpd/vsftpd.pem";
};
"/mnt/medias" = {
hostPath = "/mnt/medias";
};
};
};
}