From c8b42534d8e4e0f136afb3a3639e2b47644e748e Mon Sep 17 00:00:00 2001 From: Syndamia Date: Wed, 2 Jul 2025 14:21:07 +0300 Subject: feat(modules/server): Add ftp module for home-server group --- modules/server/ftp.nix | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 modules/server/ftp.nix (limited to 'modules') diff --git a/modules/server/ftp.nix b/modules/server/ftp.nix new file mode 100644 index 0000000..4341e56 --- /dev/null +++ b/modules/server/ftp.nix @@ -0,0 +1,33 @@ +{ + networking.firewall.allowedTCPPorts = [ 21 ] ++ /* passive mode ports */ builtins.genList (x: x + 2100) 10; + services.vsftpd = { + enable = true; + writeEnable = true; + allowWriteableChroot = true; + chrootlocalUser = true; + + anonymousUser = true; + anonymousUserNoPassword = true; + anonymousUploadEnable = true; + anonymousMkdirEnable = true; + # Do note, anonymous users cannot write in their home (chroot) directory, period. + # The home dir must have non-write permissions and instead there should be a write-able subdirectory inside. + anonymousUserHome = "/home/ftp"; + anonymousUmask = "0"; + + extraConfig = '' + # Enable passive mode, it seems most GUI tools use it + # Thanks https://serverfault.com/a/421169 + pasv_enable=YES + pasv_min_port=2100 + pasv_max_port=2109 + + # More anonymous user permissions + anon_world_readable_only=NO + anon_other_write_enable=YES + + # Other + ftpd_banner=Мрежова папка + ''; + }; +} -- cgit v1.3.1-23-gd82d