Solved

how can I get my CGI script to run with my own userid?

Posted on 1998-09-30
4
220 Views
Last Modified: 2013-12-25
I've just moved my web site from one server to another.  They're both redhat linux boxes.  One the old server, when a visitor to my page caused my CGI script to run, it ran with my own userid, so the script was able to update log files and such like, but on the new server the script always runs as the 'nobody' user (which is the user who is running the httpd processes).  So how can I change it to run as myself?  I've been told that maybe using a .htaccess file would do it, but I've tried and failed.  The root user on the server is willing to change the server configuration if that's necessary, too.
0
Comment
Question by:Zwaxy
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
4 Comments
 

Author Comment

by:Zwaxy
ID: 1828887
This is my first question on expert exchange, so please be gentle with me.
0
 

Author Comment

by:Zwaxy
ID: 1828888
This is my first question on expert exchange, so please be gentle with me.
0
 
LVL 7

Accepted Solution

by:
jconde earned 60 total points
ID: 1828889
Hello!.....

In order to run the cgi script with your user ID you must change the cgi's permissions:

ie...

chmod 755 cgi_script
chmod u+s cgi_script

the permissions should look like
-rwsrwxr-x   1 jorge    jorge      736061 Sep 24 15:51 buscar.cgi*

Now, if after doing that it fails, tell the sysadmin you have problems, and to check the httpd.conf file.

If you need a copy of my httpd.conf file, please email me to
jconde@securities.com

bye
jorge
0
 

Author Comment

by:Zwaxy
ID: 1828890
I'm sorry.  I should have said I've already tried the setuid approach.  It doesn't seem to have any affect on the machine.  I don't have the ability to log on as 'nobody', but here are a couple of scripts I've made which are setuid to the 'nobody' account:

--------------------------------
$ ls -l user[35].cgi
-rwsr-xr-x   1 nobody   nobody         53 Oct  1 05:29 user3.cgi
-rwsr-xr-x   1 nobody   nobody         52 Oct  1 05:34 user5.cgi
$ cat user3.cgi
#!/bin/sh

echo 'Content-Type: text/html'
echo ''
id
$ ./user3.cgi
Content-Type: text/html

uid=513(marp) gid=514(marp) groups=514(marp)
$ cat user5.cgi
#!/usr/bin/python

import posix

posix.system('id')
$ ./user5.cgi
uid=513(marp) gid=514(marp) groups=514(marp)
$
--------------------------------

You'll notice that even when I run them from an interactive shell, the output of the 'id' command shows that the euid hasn't changed.  (The 'id' man page says: "By default, it prints the real user ID, real group ID, effective user ID if different from the real user ID,  effective  group ID if different  from the real group ID, and supplemental group IDs."

So I take it that setuid is disabled on this machine, and that this isn't anything to do with the httpd.conf.

Anyway, on the previous server I was using, I didn't have the scripts setuid, and they still ran as my own uid, even though the server was running as 'nobody'.  (And this probably *is* to do with the configuration of the server)...

I just looked in httpd.conf, and saw a reference to Apache docs on the web, which lead me to http://www.apache.org.uk/docs/suexec.html, which begins thusly: "The suEXEC feature -- introduced in Apache 1.2 -- provides Apache users the ability to run CGI and SSI programs under user IDs different from the user ID of the calling web-server."

So I guess I've found what I was looking for.  Now - what happens about the points here?  Your answer kindof helped, in that it lead me to find what I was looking for - so what grade would be fair?  Like I said, I'm new at this...
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this tutorial I will show you how to make a simple HTML bar chart with the usage of WhizBase, If you want more information about WhizBase please read my previous articles at http://www.experts-exchange.com/ARTH_5123186.html (http://www.experts-ex…
It is a general practice to get rid of old user profiles on a computer  in a LAN environment. As I have been working with a company in a LAN environment where users move from one place to some other place at times. This will make many user profil…
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…
In a recent question (https://www.experts-exchange.com/questions/29004105/Run-AutoHotkey-script-directly-from-Notepad.html) here at Experts Exchange, a member asked how to run an AutoHotkey script (.AHK) directly from Notepad++ (aka NPP). This video…

733 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question