· 9 years ago · Oct 20, 2016, 05:10 PM
1#!/bin/bash
2#
3Skript: m122_Scripts/SQLTux.sh
4
5DBFILE=linuxusers.db
6
7PASSWDFILE=/etc/passwd
8
9TABLENAME="LinuxBenutzer"
10
11
12if ! [ -r "PASSWDFILE]
13
14then
15
16echo "Could not read $PASSWDFILE. Exiting..."
17
18exit 1
19
20fi
21
22
23echo "Preparing database file $DBFILE now..."
24
25sqlite3 "$DBFILE" "DROP TABLE IF EXISTS $TABLENAME;"
26
27sqlite3 "$DBFILE" "CREATE TABLE $TABLENAME (username text, uid integer not null, gid integer not null, homedir text);
28"
29echo "Database prepared, filling..."
30
31
32ALL="$(grep -i -E "(root|vmadmin|vmuser|tux):" $PASSWDFILE | cut -d':' -f 1,3,4,6)"
33
34
35echo "$ALL" | while read line
36do
37
38_USER="$(echo "$line" | cut -d':' -f1)"
39
40_UID="$(echo "$line" | cut -d':' -f2)"
41
42_GID="$(echo "$line" | cut -d':' -f3)"
43
44_HOMEDIR="$(echo "$line" | cut -d ':' -f4)"
45
46sqlite3 "$DBFILE" "INSERT INTO $TABLENAME VLAUES ('$_User', '$_UID', '$_GID', '$_HOMEDIR');"
47
48done
49
50
51echo "Database filled. Printing results:"
52
53sqlite3 -header "$DBFILE" "SELECT username, gid, uid, homedir FROM LinuxBenutzer";