openwrtv4/openwrt/package/openntpd/ipkg/CONTROL/postinst

25 lines
946 B
Bash
Executable file

#!/bin/sh
grep -q '^ntp[[:space:]]*123/udp' ${IPKG_INSTROOT}/etc/services 2>/dev/null
[ $? -ne 0 ] && echo "ntp 123/udp" >>${IPKG_INSTROOT}/etc/services
NU=ntp
U=`grep "^$NU:" ${IPKG_INSTROOT}/etc/passwd 2>/dev/null | cut -d: -f3`
if [ .$U = . ]; then
U=`cut -d: -f3 ${IPKG_INSTROOT}/etc/passwd 2>/dev/null | sort -n | tail -1`
[ .$U = . ] && U=49
U=`expr $U + 1`
[ $U -lt 50 ] && U=50
G=`grep "^$NU:" ${IPKG_INSTROOT}/etc/group 2>/dev/null | cut -d: -f3`
if [ .$G = . ]; then
G=`cut -d: -f3 ${IPKG_INSTROOT}/etc/group 2>/dev/null | sort -n | tail -1`
[ .$G = . ] && G=49
G=`expr $G + 1`
[ $G -lt 50 ] && G=50
fi
LINE="$NU:x:$U:$G::/tmp/.ntp:/bin/false"
echo "$LINE" >>${IPKG_INSTROOT}/etc/passwd
else
awk -F: '{ if($1=="ntp") printf("%s:%s:%s:%s:%s:/tmp/.ntp:/bin/false\n",$1,$2,$3,$4,$5); else print $0 }' ${IPKG_INSTROOT}/etc/passwd >/tmp/$$
mv /tmp/$$ ${IPKG_INSTROOT}/etc/passwd
chmod 644 ${IPKG_INSTROOT}/etc/passwd
fi