summaryrefslogtreecommitdiff
authorkergoth <kergoth>2003-03-28 07:55:46 (UTC)
committer kergoth <kergoth>2003-03-28 07:55:46 (UTC)
commit362c15fa86471c032b2aed5ba3be8c513afe6417 (patch) (unidiff)
treec67e5a2280d7b9e83e79ea5b16aeaa25e28876d6
parent5088d775fe68ac0dd1b6b9923ab66d30ce1d848a (diff)
downloadopie-362c15fa86471c032b2aed5ba3be8c513afe6417.zip
opie-362c15fa86471c032b2aed5ba3be8c513afe6417.tar.gz
opie-362c15fa86471c032b2aed5ba3be8c513afe6417.tar.bz2
Apply nonroot login patch from nick duffek.
Diffstat (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
@@ -8,34 +8,32 @@ USER=$1
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