diff options
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/cygwin/ssh-host-config | 40 |
1 files changed, 25 insertions, 15 deletions
diff --git a/contrib/cygwin/ssh-host-config b/contrib/cygwin/ssh-host-config index 0540890e6..09cc3fcf0 100644 --- a/contrib/cygwin/ssh-host-config +++ b/contrib/cygwin/ssh-host-config | |||
@@ -153,22 +153,31 @@ fi | |||
153 | 153 | ||
154 | # Create /var/log and /var/log/lastlog if not already existing | 154 | # Create /var/log and /var/log/lastlog if not already existing |
155 | 155 | ||
156 | if [ -f ${LOCALSTATEDIR}/log ] | 156 | if [ -e ${LOCALSTATEDIR}/log -a ! -d ${LOCALSTATEDIR}/log ] |
157 | then | 157 | then |
158 | echo "Creating ${LOCALSTATEDIR}/log failed!" | 158 | echo |
159 | else | 159 | echo "${LOCALSTATEDIR}/log is existant but not a directory." |
160 | if [ ! -d ${LOCALSTATEDIR}/log ] | 160 | echo "Cannot create ssh host configuration." |
161 | then | 161 | echo |
162 | mkdir -p ${LOCALSTATEDIR}/log | 162 | exit 1 |
163 | fi | 163 | fi |
164 | if [ -d ${LOCALSTATEDIR}/log/lastlog ] | 164 | if [ ! -e ${LOCALSTATEDIR}/log ] |
165 | then | 165 | then |
166 | chmod 777 ${LOCALSTATEDIR}/log/lastlog | 166 | mkdir -p ${LOCALSTATEDIR}/log |
167 | elif [ ! -f ${LOCALSTATEDIR}/log/lastlog ] | 167 | fi |
168 | then | 168 | |
169 | cat /dev/null > ${LOCALSTATEDIR}/log/lastlog | 169 | if [ -e ${LOCALSTATEDIR}/log/lastlog -a ! -f ${LOCALSTATEDIR}/log/lastlog ] |
170 | chmod 666 ${LOCALSTATEDIR}/log/lastlog | 170 | then |
171 | fi | 171 | echo |
172 | echo "${LOCALSTATEDIR}/log/lastlog exists, but is not a file." | ||
173 | echo "Cannot create ssh host configuration." | ||
174 | echo | ||
175 | exit 1 | ||
176 | fi | ||
177 | if [ ! -e ${LOCALSTATEDIR}/log/lastlog ] | ||
178 | then | ||
179 | cat /dev/null > ${LOCALSTATEDIR}/log/lastlog | ||
180 | chmod 644 ${LOCALSTATEDIR}/log/lastlog | ||
172 | fi | 181 | fi |
173 | 182 | ||
174 | # Create /var/empty file used as chroot jail for privilege separation | 183 | # Create /var/empty file used as chroot jail for privilege separation |
@@ -578,6 +587,7 @@ then | |||
578 | fi | 587 | fi |
579 | chown "${_user}" ${SYSCONFDIR}/ssh* | 588 | chown "${_user}" ${SYSCONFDIR}/ssh* |
580 | chown "${_user}".544 ${LOCALSTATEDIR}/empty | 589 | chown "${_user}".544 ${LOCALSTATEDIR}/empty |
590 | chown "${_user}".544 ${LOCALSTATEDIR}/log/lastlog | ||
581 | if [ -f ${LOCALSTATEDIR}/log/sshd.log ] | 591 | if [ -f ${LOCALSTATEDIR}/log/sshd.log ] |
582 | then | 592 | then |
583 | chown "${_user}".544 ${LOCALSTATEDIR}/log/sshd.log | 593 | chown "${_user}".544 ${LOCALSTATEDIR}/log/sshd.log |