diff --git a/roles/preseed/files/pulseaudio-perms.sh b/roles/preseed/files/pulseaudio-perms.sh new file mode 100755 index 0000000..9025660 --- /dev/null +++ b/roles/preseed/files/pulseaudio-perms.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +domaingroup="domain users" +localgroups="pulse pulse-access" + +baseusers="bglug" +domainusers="$(getent group "${domaingroup}" | awk 'BEGIN { FS = ":" } ; { print $4 }' | sed -e 's/,/ /g')" + +users="${baseusers} ${domainusers}" + +for group in ${localgroups}; do + actualusers=$(getent group '${group}' | awk 'BEGIN { FS = ":" }; { print $4 }' | sed -e 's/,/ /g') + + # Removing users not in the group + for user in ${actualusers}; do + whuser=${user//[[:space:]]/} + echo "removing ${user}" + [[ "${users}" =~ "${whuser}" ]] || gpasswd -d "${whuser}" "${group}" + unset whuser + done + + # Adding users to group + for user in ${users}; do + whuser=${user//[[:space:]]/} + [[ "${actualusers}" =~ "${whuser}" ]] || gpasswd -a "${whuser}" "${group}" + done +done diff --git a/roles/preseed/tasks/preseed.yml b/roles/preseed/tasks/preseed.yml index 9a213d7..32d107a 100644 --- a/roles/preseed/tasks/preseed.yml +++ b/roles/preseed/tasks/preseed.yml @@ -51,3 +51,9 @@ - postseed-client.sh - postseed-docenti.sh sudo: yes + +- name: Copia script per pulseaudio + copy: + src: preseed/pulseaudio-perms.sh + dest: /var/lib/nethserver/ibay/ks/preseed/pulseaudio-perms.sh + sudo: yes