diff options
| -rwxr-xr-x | package/openssh/files/S50sshd | 4 | ||||
| -rw-r--r-- | package/openssh/ipkg/openssh-server.postinst | 32 | 
2 files changed, 34 insertions, 2 deletions
| diff --git a/package/openssh/files/S50sshd b/package/openssh/files/S50sshd index bb2369195..f1bc83366 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 000000000..b6e167f69 --- /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 | 
