aboutsummaryrefslogtreecommitdiff
path: root/debian/tor.postinst
blob: cd2e91beeb3894b1bc4e65fe48c4cf9f05726dd7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/bin/sh -e

# checking debian-tor account

uid=`getent passwd debian-tor | cut -d ":" -f 3`
home=`getent passwd debian-tor | cut -d ":" -f 6`

# if there is the uid the account is there and we can do
# the sanit(ar)y checks otherwise we can safely create it.

if [ "$uid" ]; then
    # guess??? the checks!!!
    if [ $uid -ge 100 ] && [ $uid -le 999 ]; then
    	echo "debian-tor uid check: ok"
    else
    	echo "ERROR: debian-tor account has a non-system uid!"
	echo "Please check /usr/share/doc/tor/README.Debian on how to"
	echo "correct this problem"
	exit 1
    fi
    if [ "$home" = "/var/lib/tor" ]; then
        echo "debian-tor homedir check: ok"
    else
	echo "ERROR: debian-tor account has an invalid home directory!"
	echo "Please check /usr/share/doc/tor/README.Debian on how to"
	echo "correct this problem"
	exit 1
    fi
else
    # what this might mean?? oh creating a system l^Huser!
    adduser --quiet \
            --system \
            --disabled-password \
            --home /var/lib/tor \
	    --no-create-home \
	    --shell /bin/bash \
	    --group \
    debian-tor
fi

# ch{owning,moding} things around
# We will do nothing across upgrades.

if [ "$2" = "" ]; then
    for i in lib log run; do
	chown -R debian-tor:debian-tor /var/$i/tor
	chmod -R 700 /var/$i/tor
	find /var/$i/tor -type f -exec chmod 600 '{}' ';'
    done
fi

#DEBHELPER#

exit 0