English Language flag
// Log In
// CVSweb
Project: FreeWRT
// Summary // Activity // Search // Tracker // Lists // News // SCM // Wiki

SCM Repository

ViewVC logotype

Contents of /branches/freewrt_1_0/package/sleepshell/ipkg/sleepshell.postinst

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3822 - (show annotations) (download)
Fri Nov 14 15:48:29 2008 UTC (5 years, 3 months ago) by dnehring
File size: 1253 byte(s)
Added sleepshell package provided by <martin.dummer@gmx.net>
1 #!/bin/sh
2 . $IPKG_INSTROOT/etc/functions.sh
3
4 get_gid_from_group() {
5 gid=-1
6 gid=$(grep "^$1:" $IPKG_INSTROOT/etc/group 2>/dev/null \
7 |awk '{FS=":"}{print $3}')
8 echo $gid
9 }
10
11 get_uid_from_user() {
12 uid=$(grep "^$1:" $IPKG_INSTROOT/etc/passwd 2>/dev/null \
13 | awk '{FS=":"}{print $3}')
14 echo $uid
15 }
16
17 get_gid_from_user() {
18 gid=$(grep "^$1:" $IPKG_INSTROOT/etc/passwd 2>/dev/null \
19 | awk '{FS=":"}{print $4}')
20 echo $gid
21 }
22
23 shell_exists() {
24 grep -q "^$1$" $IPKG_INSTROOT/etc/shells 2>&-
25 return $?
26 }
27
28 add_shell() {
29 shell_exists $1 || {
30 echo "adding shell $1 to /etc/shells"
31 echo "$1" >>$IPKG_INSTROOT/etc/shells
32 }
33 }
34
35
36 NEWUSER=rssh
37 NEWGROUP=rssh
38 NEWHOME="/home/$NEWUSER"
39
40 if ! group_exists $NEWGROUP
41 then
42 GID=$(get_next_gid)
43 add_group $NEWGROUP $GID
44 fi
45
46 if user_exists $NEWUSER
47 then
48 UID=$(get_uid_from_user $NEWUSER)
49 GID=$(get_gid_from_user $NEWUSER)
50 else
51 UID=$(get_next_uid)
52 add_user $NEWUSER $UID $GID "$NEWHOME" "/bin/sleepshell"
53 fi
54
55 if [ ! -d "$NEWHOME" ]
56 then
57 mkdir -p "$NEWHOME/.ssh"
58 touch "$NEWHOME/.ssh/authorized_keys"
59 chown $UID:$GID "$NEWHOME" "$NEWHOME/.ssh" "$NEWHOME/.ssh/authorized_keys"
60 chmod 750 "$NEWHOME"
61 chmod 700 "$NEWHOME/.ssh"
62 chmod 400 "$NEWHOME/.ssh/authorized_keys"
63 fi
64
65 add_shell /bin/sleepshell

root@freewrt.org:443
ViewVC Help
Powered by ViewVC 1.1.20