Parcourir la source

Command to remove a non-administrator user

Bob Mottram il y a 9 ans
Parent
révision
3b0a7821d8
4 fichiers modifiés avec 43 ajouts et 0 suppressions
  1. 4
    0
      Makefile
  2. 2
    0
      debian/source/include-binaries
  3. BIN
      man/freedombone-rmuser.1.gz
  4. 37
    0
      src/freedombone-rmuser

+ 4
- 0
Makefile Voir le fichier

@@ -28,6 +28,7 @@ install:
28 28
 	install -m 755 src/${APP}-renew-cert ${DESTDIR}${PREFIX}/bin
29 29
 	install -m 755 src/${APP}-rmlist ${DESTDIR}${PREFIX}/bin
30 30
 	install -m 755 src/${APP}-rmemail ${DESTDIR}${PREFIX}/bin
31
+	install -m 755 src/${APP}-rmuser ${DESTDIR}${PREFIX}/bin
31 32
 	install -m 755 src/${APP}-ignore ${DESTDIR}${PREFIX}/bin
32 33
 	install -m 755 src/${APP}-unignore ${DESTDIR}${PREFIX}/bin
33 34
 	install -m 755 src/${APP}-addxmpp ${DESTDIR}${PREFIX}/bin
@@ -55,6 +56,7 @@ install:
55 56
 	install -m 644 man/${APP}-renew-cert.1.gz ${DESTDIR}${PREFIX}/share/man/man1
56 57
 	install -m 644 man/${APP}-rmlist.1.gz ${DESTDIR}${PREFIX}/share/man/man1
57 58
 	install -m 644 man/${APP}-rmemail.1.gz ${DESTDIR}${PREFIX}/share/man/man1
59
+	install -m 644 man/${APP}-rmuser.1.gz ${DESTDIR}${PREFIX}/share/man/man1
58 60
 	install -m 644 man/${APP}-ignore.1.gz ${DESTDIR}${PREFIX}/share/man/man1
59 61
 	install -m 644 man/${APP}-unignore.1.gz ${DESTDIR}${PREFIX}/share/man/man1
60 62
 	install -m 644 man/${APP}-addxmpp.1.gz ${DESTDIR}${PREFIX}/share/man/man1
@@ -79,6 +81,7 @@ uninstall:
79 81
 	rm -f ${PREFIX}/share/man/man1/${APP}-renew-cert.1.gz
80 82
 	rm -f ${PREFIX}/share/man/man1/${APP}-rmlist.1.gz
81 83
 	rm -f ${PREFIX}/share/man/man1/${APP}-rmemail.1.gz
84
+	rm -f ${PREFIX}/share/man/man1/${APP}-rmuser.1.gz
82 85
 	rm -f ${PREFIX}/share/man/man1/${APP}-ignore.1.gz
83 86
 	rm -f ${PREFIX}/share/man/man1/${APP}-unignore.1.gz
84 87
 	rm -f ${PREFIX}/share/man/man1/${APP}-addxmpp.1.gz
@@ -103,6 +106,7 @@ uninstall:
103 106
 	rm -f ${PREFIX}/bin/${APP}-addemail
104 107
 	rm -f ${PREFIX}/bin/${APP}-renew-cert
105 108
 	rm -f ${PREFIX}/bin/${APP}-rmlist
109
+	rm -f ${PREFIX}/bin/${APP}-rmuser
106 110
 	rm -f ${PREFIX}/bin/${APP}-ignore
107 111
 	rm -f ${PREFIX}/bin/${APP}-unignore
108 112
 	rm -f ${PREFIX}/bin/${APP}-addxmpp

+ 2
- 0
debian/source/include-binaries Voir le fichier

@@ -9,11 +9,13 @@ man/freedombone-config.1.gz
9 9
 man/freedombone-sec.1.gz
10 10
 man/freedombone-clientcert.1.gz
11 11
 man/freedombone-addcert.1.gz
12
+man/freedombone-adduser.1.gz
12 13
 man/freedombone-addlist.1.gz
13 14
 man/freedombone-addemail.1.gz
14 15
 man/freedombone-renew-cert.1.gz
15 16
 man/freedombone-rmlist.1.gz
16 17
 man/freedombone-rmemail.1.gz
18
+man/freedombone-rmuser.1.gz
17 19
 man/freedombone-ignore.1.gz
18 20
 man/freedombone-unignore.1.gz
19 21
 man/freedombone-addxmpp.1.gz

BIN
man/freedombone-rmuser.1.gz Voir le fichier


+ 37
- 0
src/freedombone-rmuser Voir le fichier

@@ -0,0 +1,37 @@
1
+#!/bin/bash
2
+
3
+MY_USERNAME=$1
4
+
5
+if [ ! $MY_USERNAME ]; then
6
+    echo 'Please specify a username to remove'
7
+    exit 1
8
+fi
9
+
10
+if [ ! -d /home/$MY_USERNAME ]; then
11
+    echo "Home directory does not exist for $MY_USERNAME"
12
+    exit 2
13
+fi
14
+
15
+if [ -f /home/$MY_USERNAME/.freedombone_administrator ]; then
16
+    echo "The administrator user cannot be removed"
17
+    exit 3
18
+fi
19
+
20
+echo '>>> REMOVE USER <<<'
21
+read -p "Do you really wish to remove the user '$MY_USERNAME' (y/n) ?" yn
22
+if [[ $yn != 'y' && $yn != 'Y' && $yn != 'yes' && $yn != 'Yes' && $yn != 'YES' ]]; then
23
+    echo "User $MY_USERNAME was not removed"
24
+    exit 4
25
+fi
26
+
27
+freedombone-rmxmpp -e "$MY_USERNAME@$HOSTNAME"
28
+
29
+userdel -r $MY_USERNAME
30
+
31
+if [ -d /home/$MY_USERNAME ]; then
32
+    rm -rf /home/$MY_USERNAME
33
+fi
34
+
35
+echo "User $MY_USERNAME was removed"
36
+
37
+exit 0