I'm not sure what I'm doing wrong... In changetime.php:
$binDate = date ("mdhiY", mktime($hour,$minute,0,$month,$day,$year)); $execString = "/usr/bin/sudo /bin/date ".$binDate."<BR>"; //echo $execString."<BR>"; exec($execString); And then in /etc/sudoers: nobody ALL=NOPASSWD: /bin/date If I run the command (as daevid) "/usr/bin/sudo /bin/date 011304042003" for example, it works fine. Apache is running as nobody it seems: [daevid=pts/6]4:10am@dev:{/www/htdocs}> ps aux | grep "httpd" root 590 0.0 1.5 4996 1988 ? S Feb12 0:00 /www/bin/httpd -D nobody 592 0.0 2.9 5396 3704 ? S Feb12 0:01 /www/bin/httpd -D nobody 593 0.0 3.0 5524 3804 ? S Feb12 0:00 /www/bin/httpd -D nobody 594 0.0 3.0 5556 3856 ? S Feb12 0:01 /www/bin/httpd -D Sooooo.... What is the problem? Ideas? > -----Original Message----- > From: Marek Kilimajer [mailto:[EMAIL PROTECTED]] > Sent: Thursday, February 13, 2003 3:43 AM > To: Daevid Vincent > Cc: [EMAIL PROTECTED] > Subject: Re: [PHP] How can I have PHP set the linux system date/time? > > > You need root priviledges, that means /bin/date must run as root. You > can use sudo > > Daevid Vincent wrote: > > >Yep, I am trying to have a php web page change the linux system > >date/time, but obviously running into the snag that /bin/date, while > >"chmod 775" doesn't allow a user to set the date/time. Why is that, > >given the permissions? Sure it makes sense, but it's > annoying. Ideas on > >how to circumvent this problem? > > > >-rwxr-xr-x 1 root root 26780 Jul 23 2001 /bin/date > > > >Seems to me that anyone should be able to use it then right? Where is > >the "write" portion defined? The 'info date' page says, "You > must have > >appropriate privileges to set the system clock." But it > doesn't say what > >that is or how to change them. > > > >If anyone cares, here's a nice bit-o-code: > > > ><?php > > if ($year == "") $year = date("Y"); > > if ($month == "") $month = date("m"); > > if ($day == "") $day = date("d"); > > if ($hour == "") $hour = date("h"); > > if ($minute == "") $minute = date("i"); > > > > $NewDateTime = date ("m/d/Y H:i", mktime > >($hour,$minute,0,$month,$day,$year)); > > > > $binDate = date ("mdhiY", mktime > >($hour,$minute,0,$month,$day,$year)); > > exec("/bin/date ".$binDate); //TODO: um, yeah, how do you expect > >this to work? you have to be root to do this!!!! > >?> > ><CENTER> > ><table border=0 class=componentBox> > ><TR><TD COLSPAN=8 class=Header>Change Time / Date</TD></TR> > ><TR> > ><FORM ACTION="<?=$SCRIPT_NAME?>" METHOD="POST"> > ><TD> > ><TABLE BORDER=0> > ><TR><TD class=Menu>New Date</TD><TD> > > <select name="month"> > > <?php > > for($i = 1; $i <= 12; $i++) > > { > > echo "<option"; > > if ($month == $i) echo " SELECTED"; > > printf(">%02d\n",$i); > > } > > ?> > > </select> / > > <select name="day"> > > <?php > > for($i = 1; $i <= 31; $i++) > > { > > echo "<option"; > > if ($day == $i) echo " SELECTED"; > > printf(">%02d\n",$i); > > } > > ?> > > </select> / > > <select name="year"> > > <option <?php if ($year == "2003") echo " SELECTED"; > >?>>2003 > > <option <?php if ($year == "2004") echo " SELECTED"; > >?>>2004 > > <option <?php if ($year == "2005") echo " SELECTED"; > >?>>2005 > > <option <?php if ($year == "2006") echo " SELECTED"; > >?>>2006 > > </select> > ></TR> > ><TR><TD class=Menu>New Time</TD><TD> > > <select name="hour"> > > <?php > > for($i = 0; $i <= 23; $i++) > > { > > echo "<option"; > > if ($hour == $i) echo " SELECTED"; > > printf(">%02d\n",$i); > > } > > ?> > > </select> : > > <select name="minute"> > > <?php > > for($i = 0; $i <= 59; $i++) > > { > > echo "<option"; > > if ($minute == $i) echo " SELECTED"; > > printf(">%02d\n",$i); > > } > > ?> > > </select> > ></TR> > > > > > ><TR><TD COLSPAN=2 ALIGN=RIGHT> > ><INPUT TYPE="SUBMIT" NAME="SUBMIT" VALUE="Set Time / Date" > class=button> > ></TD></FORM></TR> > ></TABLE> > ></TD></TR></TABLE><p> > > > > > ><?php > > if (!checkdate($month,$day,$year)) print "\n<P><B>You entered an > >invalid date, so it was converted to ".$NewDateTime."</B><P>\n"; > >?> > > > > > > > > > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php