From e5ff9675317436a5bb8eb7aa9504ce5ca540adcb Mon Sep 17 00:00:00 2001 From: Florian Fainelli Date: Mon, 2 Jan 2006 13:00:09 +0000 Subject: [PATCH] Corrected ticket #100 SVN-Revision: 2804 --- openwrt/package/openssh/files/S50sshd | 4 +-- .../openssh/ipkg/openssh-server.postinst | 32 +++++++++++++++++++ 2 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 openwrt/package/openssh/ipkg/openssh-server.postinst diff --git a/openwrt/package/openssh/files/S50sshd b/openwrt/package/openssh/files/S50sshd index bb23691954..f1bc83366d 100755 --- a/openwrt/package/openssh/files/S50sshd +++ b/openwrt/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/openwrt/package/openssh/ipkg/openssh-server.postinst b/openwrt/package/openssh/ipkg/openssh-server.postinst new file mode 100644 index 0000000000..b6e167f696 --- /dev/null +++ b/openwrt/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