-rw-r--r-- | share/opie-login/pre-session | 14 |
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 | ||
3 | USER=$1 | 3 | USER=$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 | ||
18 | permin () | 18 | permin () |
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 | ||
29 | if [ -e /proc/hal/model ]; then | 29 | if [ -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 | ||
34 | else | 35 | else |
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 | ||
37 | fi | 39 | fi |
38 | |||
39 | for i in $devs; do | ||
40 | permin $i | ||
41 | done | ||