From a14dfd6562e8f02d121a966a4356e267296cfb54 Mon Sep 17 00:00:00 2001 From: DarkFeather Date: Sun, 27 Apr 2025 15:25:54 -0500 Subject: [PATCH] Password package update --- roles/Password/package/Makefile | 4 ++-- roles/Password/package/PKGBUILD | 2 +- roles/Password/package/ldap-userreport | 19 ++++++++++++++----- .../Password/package/ldap-userreport.service | 12 ++++++++++++ roles/Password/package/ldap-userreport.timer | 7 +++++++ 5 files changed, 36 insertions(+), 8 deletions(-) create mode 100644 roles/Password/package/ldap-userreport.service create mode 100644 roles/Password/package/ldap-userreport.timer diff --git a/roles/Password/package/Makefile b/roles/Password/package/Makefile index 9ec3894..20bfd56 100644 --- a/roles/Password/package/Makefile +++ b/roles/Password/package/Makefile @@ -5,10 +5,10 @@ compile: @echo Nothing to do install: clean ${binlist} ${filelist} - mkdir -p ${pkgdir}/opt/aninix/Password/ + mkdir -p ${pkgdir}/opt/aninix/Password/ ${pkgdir}/usr/lib/systemd/system ${pkgdir}/usr/local/sbin/ for i in ${filelist}; do install -m 0640 -o ldap -g ldap $$i ${pkgdir}/opt/aninix/Password/; done - mkdir -p ${pkgdir}/usr/local/sbin/ for i in ${binlist}; do install -m 0750 -o root -g root $$i ${pkgdir}/usr/local/sbin; done + for i in *.service *.timer; do install -m 0755 -o root -g root $$i ${pkgdir}/usr/lib/systemd/system; done test: compile @echo Nothing to do diff --git a/roles/Password/package/PKGBUILD b/roles/Password/package/PKGBUILD index 5a63ba3..67c7090 100644 --- a/roles/Password/package/PKGBUILD +++ b/roles/Password/package/PKGBUILD @@ -1,4 +1,4 @@ -depends=('bash>=4.4' 'openldap') +depends=('bash>=4.4' 'openldap' 'ravensend' 'TheRaven') makedepends=('make>=4.2') checkdepends=() optdepends=() diff --git a/roles/Password/package/ldap-userreport b/roles/Password/package/ldap-userreport index 5b78748..cf13815 100755 --- a/roles/Password/package/ldap-userreport +++ b/roles/Password/package/ldap-userreport @@ -9,10 +9,19 @@ function getLDAPAttr() { ldapsearch -x "${filter}" "${attribute}" | grep -E "^${attribute}: " | sed "s/${attribute}: //" } -# Clear cleanup files ldif="/root/cleanup.ldif" ->"${ldif}" bash="/root/cleanup.bash" +if [ "$1" == "-h" ]; then + cat <"${ldif}" echo "#!/bin/bash" > "${bash}" # Attributes @@ -84,12 +93,12 @@ fi # Report when users are expiring -- give them several notices to fix it. if [ -n "${EXPIRING}" ]; then echo "EXPIRING: ${EXPIRING}" - ravensend -c "#tech" -m "The following users are expiring: ${EXPIRING}" + if [ "$1" != '-m' ]; then ravensend -c "#tech" -m "The following users are expiring: ${EXPIRING}"; fi fi # Report users that have expired. These users should be contacted or removed. if [ -n "${EXPIRED}" ]; then echo "EXPIRED: ${EXPIRED}" - echo "Expired users can be cleaned up with ${ldif} and ${bash}" - ravensend -c "#sharingan" -m 'Users have expired and need attention.' + echo "Expired users can be cleaned up with ${ldif} and ${bash}. Run /usr/bin/pwck and /usr/bin/grpck afterwards." + if [ $1 != '-m' ]; then ravensend -c "#sharingan" -m 'The following users have expired and need attention.'; fi fi diff --git a/roles/Password/package/ldap-userreport.service b/roles/Password/package/ldap-userreport.service new file mode 100644 index 0000000..3f8b5b4 --- /dev/null +++ b/roles/Password/package/ldap-userreport.service @@ -0,0 +1,12 @@ +[Unit] +Description=AniNIX/Password | LDAP User Report +After=network.target raven.service ravensend-daemon.service + +[Service] +Type=oneshot +ExecStart=/bin/bash /usr/local/sbin/ldap-userreport +ExecReload=/bin/kill -HUP $MAINPID +KillMode=process + +[Install] +WantedBy=multi-user.target diff --git a/roles/Password/package/ldap-userreport.timer b/roles/Password/package/ldap-userreport.timer new file mode 100644 index 0000000..3373ace --- /dev/null +++ b/roles/Password/package/ldap-userreport.timer @@ -0,0 +1,7 @@ +[Unit] +Description=AniNIX/Password | LDAP User Report + +[Timer] +OnCalendar=Mon *-*-* 09:00:00 +RandomizedDelaySec=1m +Persistent=true