summaryrefslogtreecommitdiffstats
path: root/puppet/modules/network_test_server/manifests/linux/vsftpd.pp
blob: 6632f1a8a350e104e63b2480cdc060376ee6a6e2 (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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
class network_test_server::linux::vsftpd {

    package {
        "vsftpd":           ensure  =>  present;
    }

    service {
        "vsftpd":
            enable  =>  true,
            ensure  =>  running,
            require =>  [ Package["vsftpd"], File["/home/qt-test-server/ftp"] ],
        ;
    }

    user {
        "ftp":
            ensure      =>  present,
            home        =>  "/home/qt-test-server/ftp",
            require     =>  Package["vsftpd"],
        ;

        "ftptest":
            ensure      =>  present,
            home        =>  "/home/qt-test-server/ftp",
            require     =>  [ Package["mkpasswd"], Package["vsftpd"] ],
            password    =>  mkpasswd('OfmgZrrC', 'password'),
        ;
    }

    file {
        "/etc/vsftpd.conf":
            source  =>  "puppet:///modules/network_test_server/config/vsftpd/vsftpd.conf",
            require =>  Package["vsftpd"],
            notify  =>  Service["vsftpd"],
        ;
        "/etc/vsftpd.user_list":
            source  =>  "puppet:///modules/network_test_server/config/vsftpd/user_list",
            require =>  Package["vsftpd"],
            notify  =>  Service["vsftpd"],
        ;
        "/home/qt-test-server/ftp":
            source  =>  "puppet:///modules/network_test_server/ftp",
            recurse =>  remote,
            require =>  User["qt-test-server"],
        ;
        "/var/ftp":
            ensure  =>  "/home/qt-test-server/ftp",
            require =>  File["/home/qt-test-server/ftp"],
        ;

        # testdata with special permissions
        "/home/qt-test-server/ftp/pub/file-not-readable.txt":
            source  =>  "puppet:///modules/network_test_server/ftp/pub/file-not-readable.txt",
            mode    =>  0600,
            require =>  File["/home/qt-test-server/ftp"],
        ;

        # ftp incoming dir
        "/home/qt-test-server/ftp/qtest/upload":
            ensure  =>  directory,
            mode    =>  1777,
            require =>  File["/home/qt-test-server/ftp"],
        ;

        "/etc/logrotate.d/xferlog":
            source  =>  "puppet:///modules/network_test_server/logrotate.d/xferlog",
        ;
    }
}