From 4e760bf5ea954621f8c495d510faa23bf6aaae05 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Todor=20Kondi=C4=87?= <todor.kondic@uni.lu>
Date: Wed, 16 Mar 2022 09:22:10 +0100
Subject: [PATCH] Ftp server users, homes and HTTP connection work.

---
 group_vars/stations/eci_users.yml |  5 ++---
 roles/base/tasks/main.yml         | 17 ++++++++++++++---
 roles/ftpserver/tasks/main.yml    |  5 +++--
 3 files changed, 19 insertions(+), 8 deletions(-)

diff --git a/group_vars/stations/eci_users.yml b/group_vars/stations/eci_users.yml
index eb985df..652d5a8 100644
--- a/group_vars/stations/eci_users.yml
+++ b/group_vars/stations/eci_users.yml
@@ -3,6 +3,5 @@ eci_users:
     - testuser2
 
 eci_users_uid:
-    testuser: 61
-    testuser2: 62
-  
+  testuser: 61
+  testuser2: 62
diff --git a/roles/base/tasks/main.yml b/roles/base/tasks/main.yml
index 89cd89e..9eb5f9c 100644
--- a/roles/base/tasks/main.yml
+++ b/roles/base/tasks/main.yml
@@ -25,17 +25,28 @@
     path: /etc/dhcp/dhclient.conf
   notify: restart-network
 
+- name: Create eci group.
+  ansible.builtin.group:
+    name: eci
+
+- name: Get eci's GID.
+  ansible.builtin.getent:
+    database: group
+    key: eci
+    
 - name: Create /eci-users.
   ansible.builtin.file:
-        path: /etc/eci-users
+        path: /eci-users
         state: directory
         mode: '0711'
 
 - name: Create /eci-users/user.
   ansible.builtin.file:
-        path: "/etc/eci-users/{{ item }}"
+        path: "/eci-users/{{ item }}"
         state: directory
-        mode: '0711'
+        owner: "{{ eci_users_uid[item] }}"
+        group: eci
+        mode: '0771'
   loop: "{{ eci_users }}"
 
   
diff --git a/roles/ftpserver/tasks/main.yml b/roles/ftpserver/tasks/main.yml
index 5db9b9a..149465e 100644
--- a/roles/ftpserver/tasks/main.yml
+++ b/roles/ftpserver/tasks/main.yml
@@ -9,13 +9,14 @@
     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"
+  shell:
+    cmd: "echo {{ eci_passwords[item] }}|ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name={{ item }} --uid={{ eci_users_uid[item] }} --gid={{ ansible_facts.getent_group['eci'][1] }} --home=/eci-users/{{item}} --shell=/bin/false --stdin"
   loop: "{{eci_users}}"
   notify: restart-ftp
 
     
 - name: Configure ProFTPd for multiple virtual users.
+  tags: proftpd-conf-text
   blockinfile:
     path: /etc/proftpd/proftpd.conf
     block: |
-- 
GitLab