79e624ffaa1afd7da1e5c984bacc1141bed77989
[chef.git] / cookbooks / ftp / recipes / default.rb
1 #
2 # Cookbook Name:: FTP
3 # Recipe:: default
4 #
5 # Copyright 2018, OpenStreetMap Foundation
6 #
7 # Licensed under the Apache License, Version 2.0 (the "License");
8 # you may not use this file except in compliance with the License.
9 # You may obtain a copy of the License at
10 #
11 #     https://www.apache.org/licenses/LICENSE-2.0
12 #
13 # Unless required by applicable law or agreed to in writing, software
14 # distributed under the License is distributed on an "AS IS" BASIS,
15 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 # See the License for the specific language governing permissions and
17 # limitations under the License.
18 #
19
20 package %w[
21   vsftpd
22   libpam-pwdfile
23 ]
24
25 template "/etc/vsftpd.conf" do
26   source "vsftpd.conf.erb"
27   owner "root"
28   group "root"
29   mode 0o644
30 end
31
32 template "/etc/pam.d/vsftpd" do
33   source "pam-vsftpd.erb"
34   owner "root"
35   group "root"
36   mode 0o644
37 end
38
39 service "vsftpd" do
40   action [:enable, :start]
41   supports :status => true, :restart => true, :reload => true
42   subscribes :restart, "template[/etc/vsftpd.conf]"
43   subscribes :restart, "template[/etc/pam.d/vsftpd]"
44 end
45
46 firewall_rule "accept-ftp-tcp" do
47   action :accept
48   source "net"
49   dest "fw"
50   proto "tcp"
51   dest_ports "ftp"
52   source_ports "-"
53   helper "ftp"
54 end