Hi All,
I have a small problem here. I am unable to display uptime online.
THE PROBLEM:
A: Section 6 below: Why is the system uptime string not displayed when the
cgi script is run under chroot?
B: Section 4 below: Why does running uptime program under chroot yield time
that is not accurate? 6:54PM while the actual time was 9:54PM produced by
running uptime as root immediately after.
1: OpenBSD 5.9 (GENERIC.MP) #1888: Fri Feb 26 01:20:19 MST 2016
****************************************************************************************
2: DIRECTORY PERMISSIONS THE DEFAULT
*****************************************************************************************
# cd /var/www
# ls -l
total 40
drwxr-xr-x 2 root daemon 512 Feb 26 2016 bin
drwx-----T 2 www daemon 512 Feb 26 2016 cache
drwxr-xr-x 3 root daemon 512 Sep 25 21:08 cgi-bin
drwxr-xr-x 2 root daemon 512 Aug 16 13:45 conf
drwxr-xr-x 4 root daemon 512 Aug 31 10:48 htdocs
-rw------- 1 www daemon 69 Aug 27 08:15 htpasswd
drwxr-xr-x 2 root daemon 512 Sep 25 00:00 logs
drwxr-xr-x 2 root daemon 512 Sep 24 09:44 run
drwxr-xr-x 5 root daemon 512 Sep 21 16:38 usr
drwxr-xr-x 3 root daemon 512 Sep 24 00:28 var
#
******************************************************************************************
3: A CGI PROGRAM NAMED MYUPTIMER THAT SHOULD DISPLAY SYSTEM UPTIME.
******************************************************************************************
# vi /var/www/cgi-bin/myuptimer.c
#include <stdio.h>
int main(void)
{
printf("Content-Type: text/plain;charset=us-ascii\n\n");
fflush(stdout);
system("/usr/bin/uptime");
fflush(stdout);
return 0;
}
******************************************************************************************
4: INSTALLING AND TESTING UPTIME PROGRAM UNDER CHROOT
********************************************************************************************
# cp /usr/bin/uptime /var/www/usr/bin
# cp /usr/lib/libkvm.so.16.1 /var/www/usr/lib
# cp /usr/lib/libc.so.84.2 /var/www/usr/lib
# cp /usr/libexec/ld.so /var/www/usr/libexec
# cp /var/run/utmp /var/www/var/run
#
# chroot -u www /var/www uptime
6:54PM up 1 day, 12:09, 2 users, load averages: 0.11, 0.13, 0.18
#
# uptime
9:54PM up 1 day, 12:09, 1 user, load average: 0.11, 0.12, 0.13
*********************************************************************************************
5: RUNNING MYUPTIMER CGI PROGRAM AS ROOT YIELDS GOOD RESULT
******************************************************************************************
# /var/www/cgi-bin/myuptimer.cgi
Content-Type: text/plain;charset=us-ascii
9:54PM up 1 day, 12:10, 1 user, load averages: 0.10, 0.12, 0.17
*******************************************************************************************
6: HOWEVER RUNNING MYUPTIMER CGI PROGRAM UNDER CHROOT NOT SO:
DISPLAYS OTHER TEXT BUT THE UPTIME STRING IS NOT OUTPUT.
******************************************************************************************
# chroot -u www /var/www /cgi-bin/myuptimer.cgi
Content-Type: text/plain;charset=us-ascii
*******************************************************************************************
Regards,
Kihaguru.
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
/var/www/cgi-bin/uptimer.c: unmodified: line 1