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