summaryrefslogtreecommitdiff
path: root/share/opie-login/pre-session
blob: e147afc45991d09502e831a51bed89f9b03ba501 (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
#!/bin/sh

USER=$1

# NOTE about permissions in OpenZaurus
# 	The devices in question here by default
#	are accessible to everyone in the group in
#	question.  We wish to ensure that, as a policy
#	choice, a login to opie makes access to these
#	devices exclusive by 1) changing device ownership
#	to the user, and 2) removing group access.
#
#	A better implementation would probably be to store
#	existing device permissions at load time, and restore
#	them at exit, rather than making assumptions about
#	user/group ownership, or permissions.

permin ()
{
	if [ -e $1 ]
	then
		chown $USER $1
	else
		echo Warning: $1 does not exist.
		return 1
	fi
}

if [ -e /proc/hal/model ]; then
	# fix for misconfigured devfsd
	chmod +x /dev/sound /dev/touchscreen /dev/fb /dev/vc
	devs = /dev/sound/dsp /dev/sound/mixer /dev/touchscreen/0 \
		/dev/fb/0 /dev/vc/0
else
	devs = /dev/dsp /dev/dsp1 /dev/mixer /dev/ts /dev/fb0 \
		/dev/sharp* /dev/collie*
fi

for i in $devs; do
	permin( $i )
done