summaryrefslogtreecommitdiff
path: root/share
Unidiff
Diffstat (limited to 'share') (more/less context) (ignore whitespace changes)
-rw-r--r--share/opie-login/pre-session14
1 files changed, 6 insertions, 8 deletions
diff --git a/share/opie-login/pre-session b/share/opie-login/pre-session
index 28d4a1f..2fdf7e9 100644
--- a/share/opie-login/pre-session
+++ b/share/opie-login/pre-session
@@ -1,41 +1,39 @@
1#!/bin/sh 1#!/bin/sh
2 2
3USER=$1 3USER=$1
4 4
5# NOTE about permissions in OpenZaurus 5# NOTE about permissions in OpenZaurus
6 # The devices in question here by default 6 # The devices in question here by default
7 #are accessible to everyone in the group in 7 #are accessible to everyone in the group in
8 #question. We wish to ensure that, as a policy 8 #question. We wish to ensure that, as a policy
9 #choice, a login to opie makes access to these 9 #choice, a login to opie makes access to these
10 #devices exclusive by 1) changing device ownership 10 #devices exclusive by 1) changing device ownership
11 #to the user, and 2) removing group access. 11 #to the user, and 2) removing group access.
12# 12#
13 #A better implementation would probably be to store 13 #A better implementation would probably be to store
14 #existing device permissions at load time, and restore 14 #existing device permissions at load time, and restore
15 #them at exit, rather than making assumptions about 15 #them at exit, rather than making assumptions about
16 #user/group ownership, or permissions. 16 #user/group ownership, or permissions.
17 17
18permin () 18permin ()
19{ 19{
20 if [ -e $1 ] 20 if [ -e $1 ]
21 then 21 then
22 chown $USER $1 22 chown $USER $1
23 else 23 else
24 echo Warning: $1 does not exist. 24 echo Warning: $1 does not exist.
25 return 1 25 return 1
26 fi 26 fi
27} 27}
28 28
29if [ -e /proc/hal/model ]; then 29if [ -e /proc/hal/model ]; then
30 # fix for misconfigured devfsd 30 # fix for misconfigured devfsd
31 chmod +x /dev/sound /dev/touchscreen /dev/fb /dev/vc 31 chmod +x /dev/sound /dev/touchscreen /dev/fb /dev/vc
32 devs=/dev/sound/dsp /dev/sound/mixer /dev/touchscreen/* \ 32 for i in /dev/sound/dsp /dev/sound/mixer /dev/touchscreen/* /dev/fb/0 /dev/vc/0; do
33 /dev/fb/0 /dev/vc/0 33 permin $i
34 done
34else 35else
35 devs=/dev/dsp/* /dev/dsp1 /dev/mixer /dev/ts /dev/fb0 \ 36 for i in /dev/dsp/* /dev/dsp1 /dev/mixer /dev/ts /dev/fb0 /dev/sharp* /dev/collie*; do
36 /dev/sharp* /dev/collie* 37 permin $i
38 done
37fi 39fi
38
39for i in $devs; do
40 permin $i
41done