source: freewrt/package/sleepshell/ipkg/sleepshell.postinst@ 621d5d2

freewrt_2_0
Last change on this file since 621d5d2 was a2dd045, checked in by Dirk Nehring <dnehring@…>, 17 years ago

Added sleepshell package provided by <martin.dummer@…>

git-svn-id: svn://www.freewrt.org/branches/freewrt_1_0@3822 afb5a338-a214-0410-bd46-81f09a774fd1

  • Property mode set to 100644
File size: 1.2 KB
Line 
1#!/bin/sh
2. $IPKG_INSTROOT/etc/functions.sh
3
4get_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
11get_uid_from_user() {
12 uid=$(grep "^$1:" $IPKG_INSTROOT/etc/passwd 2>/dev/null \
13 | awk '{FS=":"}{print $3}')
14 echo $uid
15}
16
17get_gid_from_user() {
18 gid=$(grep "^$1:" $IPKG_INSTROOT/etc/passwd 2>/dev/null \
19 | awk '{FS=":"}{print $4}')
20 echo $gid
21}
22
23shell_exists() {
24 grep -q "^$1$" $IPKG_INSTROOT/etc/shells 2>&-
25 return $?
26}
27
28add_shell() {
29 shell_exists $1 || {
30 echo "adding shell $1 to /etc/shells"
31 echo "$1" >>$IPKG_INSTROOT/etc/shells
32 }
33}
34
35
36NEWUSER=rssh
37NEWGROUP=rssh
38NEWHOME="/home/$NEWUSER"
39
40if ! group_exists $NEWGROUP
41then
42 GID=$(get_next_gid)
43 add_group $NEWGROUP $GID
44fi
45
46if user_exists $NEWUSER
47then
48 UID=$(get_uid_from_user $NEWUSER)
49 GID=$(get_gid_from_user $NEWUSER)
50else
51 UID=$(get_next_uid)
52 add_user $NEWUSER $UID $GID "$NEWHOME" "/bin/sleepshell"
53fi
54
55if [ ! -d "$NEWHOME" ]
56then
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"
63fi
64
65add_shell /bin/sleepshell
66
Note: See TracBrowser for help on using the repository browser.