summaryrefslogtreecommitdiffstats
path: root/makefu/2configs/share/anon-ftp.nix
blob: d2a535f97054297b52842e805dd963059017f22b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
{ config, lib, ... }:
let
  ftpdir = "/data";
in {
  networking.firewall = {
    allowedTCPPorts = [ 20 21 ];
    autoLoadConntrackHelpers = true;
    connectionTrackingModules = [ "ftp" ];
    extraCommands = ''
      iptables -A PREROUTING -t raw -p tcp --dport 21 -j CT --helper ftp
    '';
  };
  systemd.services.vsftpd.preStart = lib.mkForce ''
    mkdir -p -m755 ${ftpdir}/incoming
    chown root:root ${ftpdir}
    chown ftp ${ftpdir}/incoming
  '';
  services.vsftpd = {
    enable = true;
    extraConfig = ''
      ftpd_banner=Welcome to the krebs share, use the incoming dir for new and old leaks. Join freenode#krebs
    '';
    anonymousUser = true;
    anonymousUserNoPassword = true;
    anonymousUploadEnable = true;
    anonymousMkdirEnable = true;
    writeEnable = true;
    chrootlocalUser = true;
    anonymousUserHome = ftpdir;
  };
}