diff --git a/group_vars/stations/eci_users.yml b/group_vars/stations/eci_users.yml new file mode 100644 index 0000000000000000000000000000000000000000..eb985df1f96353b585ac4676c6d10ae6fde7f099 --- /dev/null +++ b/group_vars/stations/eci_users.yml @@ -0,0 +1,8 @@ +eci_users: + - testuser + - testuser2 + +eci_users_uid: + testuser: 61 + testuser2: 62 + diff --git a/roles/base/main.yml b/roles/base/main.yml deleted file mode 100644 index a445f991faac77911537b8269b58034ca324fe85..0000000000000000000000000000000000000000 --- a/roles/base/main.yml +++ /dev/null @@ -1,24 +0,0 @@ -- hosts: stations - become: True - become_user: adamsmith - tasks: - - name: Update and upgrade system. - apt: - upgrade: yes - update_cache: yes - cache_valid_time: 86400 - - - name: Install packages - apt: - name: [ 'nscd', - 'curl', - 'wget', - 'gzip', - 'atop', - 'git', - 'gvfs', - 'cifs-utils', - 's3fs', - 'openjdk-17-jre-headless', - 'openjdk-17-jdk-headless' ] - diff --git a/roles/base/tasks/main.yml b/roles/base/tasks/main.yml index 2d31b648db48b5f118a44f084401d2e18bfcb258..89cd89e79c1452828094febd79ce20bfc2c8d9b5 100644 --- a/roles/base/tasks/main.yml +++ b/roles/base/tasks/main.yml @@ -25,7 +25,20 @@ path: /etc/dhcp/dhclient.conf notify: restart-network +- name: Create /eci-users. + ansible.builtin.file: + path: /etc/eci-users + state: directory + mode: '0711' + +- name: Create /eci-users/user. + ansible.builtin.file: + path: "/etc/eci-users/{{ item }}" + state: directory + mode: '0711' + loop: "{{ eci_users }}" + - name: Create /etc/eci-platform. ansible.builtin.file: path: /etc/eci-platform diff --git a/roles/ftpserver/handlers/main.yml b/roles/ftpserver/handlers/main.yml new file mode 100644 index 0000000000000000000000000000000000000000..2543d7e99e4c904cc804baa538f8ecaa1477eec3 --- /dev/null +++ b/roles/ftpserver/handlers/main.yml @@ -0,0 +1,6 @@ +- name: Restart FTP. + listen: restart-ftp + ansible.builtin.systemd: + state: restarted + name: proftpd + diff --git a/roles/ftpserver/tasks/main.yml b/roles/ftpserver/tasks/main.yml index 4f6eb4cf2b9150cf413b47de9b1acd97e5d03122..5db9b9a84333bc3b6fe122a1ebda84ec6989a712 100644 --- a/roles/ftpserver/tasks/main.yml +++ b/roles/ftpserver/tasks/main.yml @@ -1,3 +1,30 @@ - name: Install packages. apt: name: [ "proftpd-basic" ] + +- name: Ensure group auth exists. + file: + state: touch + path: /etc/proftpd/ftpd.group + mode: 0600 + +- name: Create FTP users. + debug: + msg: "echo {{ eci_passwords[item] }}|ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name={{item}} --uid={{eci_users_uid[item]}} --home=/udirs/{{item}} --shell=/bin/false --stdin" + loop: "{{eci_users}}" + notify: restart-ftp + + +- name: Configure ProFTPd for multiple virtual users. + blockinfile: + path: /etc/proftpd/proftpd.conf + block: | + DefaultRoot ~ + RequireValidShell off + AuthUserFile /etc/proftpd/ftpd.passwd + AuthGroupFile /etc/proftpd/ftpd.group + ServerName "{{hostvars[inventory_hostname].ansible_hostname}}" + AuthOrder mod_auth_file.c + notify: restart-ftp + +