aboutsummaryrefslogtreecommitdiffstats
path: root/package/openssh
diff options
context:
space:
mode:
Diffstat (limited to 'package/openssh')
-rwxr-xr-xpackage/openssh/files/S50sshd4
-rw-r--r--package/openssh/ipkg/openssh-server.postinst32
2 files changed, 34 insertions, 2 deletions
diff --git a/package/openssh/files/S50sshd b/package/openssh/files/S50sshd
index bb23691954..f1bc83366d 100755
--- a/package/openssh/files/S50sshd
+++ b/package/openssh/files/S50sshd
@@ -2,7 +2,7 @@
for type in rsa dsa; do {
# check for keys
- key=/etc/ssh/ssh_${type}_host_key
+ key=/etc/ssh/ssh_host_${type}_key
[ ! -f $key ] && {
# generate missing keys
[ -x /usr/bin/ssh-keygen ] && {
@@ -11,5 +11,5 @@ for type in rsa dsa; do {
exit 0
}
}; done
-
+mkdir -p /var/emtpy
/usr/sbin/sshd
diff --git a/package/openssh/ipkg/openssh-server.postinst b/package/openssh/ipkg/openssh-server.postinst
new file mode 100644
index 0000000000..b6e167f696
--- /dev/null
+++ b/package/openssh/ipkg/openssh-server.postinst
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+name=sshd
+id=99
+
+# do not change below
+# check if we are on real system
+if [ -z "${IPKG_INSTROOT}" ]; then
+ # create copies of passwd and group, if we use squashfs
+ rootfs=`mount |awk '/root/ { print $5 }'`
+ if [ "$rootfs" = "squashfs" ]; then
+ if [ -h /etc/group ]; then
+ rm /etc/group
+ cp /rom/etc/group /etc/group
+ fi
+ if [ -h /etc/passwd ]; then
+ rm /etc/passwd
+ cp /rom/etc/passwd /etc/passwd
+ fi
+ fi
+fi
+
+echo ""
+if [ -z "$(grep ^\\${name}: ${IPKG_INSTROOT}/etc/group)" ]; then
+ echo "adding group $name to /etc/group"
+ echo "${name}:x:${id}:" >> ${IPKG_INSTROOT}/etc/group
+fi
+
+if [ -z "$(grep ^\\${name}: ${IPKG_INSTROOT}/etc/passwd)" ]; then
+ echo "adding user $name to /etc/passwd"
+ echo "${name}:x:${id}:${id}:${name}:/var/empty/.${name}:/bin/false" >> ${IPKG_INSTROOT}/etc/passwd
+fi