sudo environment setting?


Login or Register for Dates, Times and to Reply

 
Thread Tools Search this Thread
# 1  
sudo environment setting?

Hi, first post. As the nick suggests I'm a Unix noob, but I'm doing everything I can to learn fast...job requirement. These forums have been a huge help so far.


I have a server running HP-UX 11.23b with Apache/2.0.59 HP-UX_Apache-based_Web_Server.

Apache is not installed in the default location and an issue (not highly important but irritating) has popped up suddenly. No one thus far has a clue how to fix it.

It only involves invoking some Apache commands using sudo. This environment variable disappears (LD_LIBRARY_PATH=/web/app/hpws/apache/lib) when using sudo. For instance, type env at the command line and that variable is displayed in the output. Type sudo env at the command line and that environment variable doesn't exist in the output. I've checked and it's set in the /etc/profile and I've even gone so far as to set it in my .profile file, nothing works when using the sudo command.

My question is this, does anyone know how to set the system environment so that all users have the variable set when they use the sudo command without having to go through a bunch of commands to set it when they need it?

Any help is appreciated.
# 2  
When you sudo to a different user (say root):

sudo su

This wont set up that user's environment. If you:

sudo su -

That will. However, when you just want to run a command, I don't believe there is a way to have it configure the environment automatically. However, you can set LD_LIBRARY_PATH using the envvars file. In your install directory:

<my install path>/bin/envvars

It'll probably already have LD_LIBRARY_PATH in there, so just append your lib directory. If you need to have that lib dir passed to cgi-bin scripts and the like, you'll need to edit your httpd.conf file and add this line:

PassEnv LD_LIBRARY_PATH

I know some systems don't have an envvars file, I'm used to working on Solaris, so if it's not there, try creating it. Otherwise you can always create a wrapper script which sets the path, then calls apachectl...
# 3  
Thank you very much for the information. Never considered the httpd.conf file but your suggestion did fix one issue I was having.

The envvars file did have the correct variable path statement in it which still begs the question as to why issuing a sudo <any command> doesn't pick up any environment variables. Unless it's the fact that even though your telling the system to issue the command as root, you're not initiating root user and the environment settings like you would if you switch to root using sudo su - root.
# 4  
I believe sudo has security problems with LD_LIBRARY_PATH and some other envrionment variables. According to the man page for sudo on 11.23 - it removes that environment variable.

The easiest way around that is to relink the executable file using the -L parameter, so that ld looks in the right path for libraries.
Login or Register for Dates, Times and to Reply

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Setting up environment variables

Hi all, This is my first post here. I need to set up a few environment variables with a shell script. Some are hard-coded, but some should come from other commands or as input from the user. How do I do that? For example, I need to export a variable as such: export DISPLAY=127.0.0.1:8.0 ... (2 Replies)
Discussion started by: exchequer598
2 Replies

2. Red Hat

SUDO: environment variables

Hi, I was wondering about this question today, After logging to a linux server (putty - ssh), I set environment variables like PATH etc. When I launch a command as sudo, is the environment variables that were set applicable to the command launched as sudo also? Please let me know what you... (2 Replies)
Discussion started by: jredx
2 Replies

3. UNIX for Dummies Questions & Answers

Setting Environment Variables

#!/bin/bash if ; then ASS1_DATA_DIR=./ echo $ASS1_DATA_DIR export ASS1_DATA_DIR echo "data dir" fi if ; then ASS1_OUTPUT_DIR=./ export ASS1_OUTPUT_DIR fi I want to create a new environment variable ASS1_DATA_DIR and ASS1_OUTPUT_DIR in bash and set them to the current... (4 Replies)
Discussion started by: bigubosu
4 Replies

4. UNIX for Dummies Questions & Answers

Need help with setting up environment variables

hi all, I would appreciate if some one could explain me the difference between setting up the variables as shown below HOME=${HOME:-"/home/user1"} HOME=/home/user1 (1 Reply)
Discussion started by: SSSB
1 Replies

5. UNIX for Dummies Questions & Answers

Setting up your environment

Hi I am new to Solaris and was just given my id and need to setup my environment, what do i need to do to run certain commands without putting in the complete path. How do I create my .profile, I do not see under my login? Any help would be greatly appreciated. (5 Replies)
Discussion started by: sa_ken
5 Replies

6. Shell Programming and Scripting

Problem setting environment...

Hi All I'm attempting to automate the process of setting the DISPLAY environment variable when logging on (sourcing the .cshrc). I have a mixture of linux and solaris servers and this comnand: who -m | awk '{ print $6}' | tr -d '()' seems to work on all the servers. I want... (2 Replies)
Discussion started by: huskie69
2 Replies

7. Programming

Setting Environment variable..!

Hi, I already have one CPP program which invokes the C program.And the C program contains whole function definitions..!This is a working program..I have to enable the logs in both CPP as well as in the C program ..!So I am reading the enviornmental variable log path from the CPP and doing the... (2 Replies)
Discussion started by: Kattoor
2 Replies

8. UNIX for Dummies Questions & Answers

Can I export the users environment using sudo?

I want the user to be able to commands as another user.. but when they do that.. I need them to have the environment variables of the other user. is this possible with sudo? sudo -H -u user env 'env' is giving me the environment of the current user, not the user I want to run commands as. ... (1 Reply)
Discussion started by: julesdiane
1 Replies

9. Shell Programming and Scripting

Setting up Environment Variables

Hi all, I am trying to set up some variables in a shell script. The variables contain values of various paths needed to run a java module. The problem is the variables dont seem to be setting at all. here is what i am trying to do : JAR_HOME=/home/was5/bdcms/scheduledjobs/lib export... (6 Replies)
Discussion started by: rpandey
6 Replies

10. UNIX for Dummies Questions & Answers

setting environment variables ???

Hello, I want to set some environment variables with this script: ip=$@ echo Remote Computer: $ip PERLDB_OPTS="CallKomodo=$ip:9000 RemotePort=$ip:9010 PrintRet=0" export PERLDB_OPTS PERL5LIB=/opt/komodo export PERL5LIB echo PERLDB_OPTS: $PERLDB_OPTS echo PERL5LIB: $PERL5LIB But it... (5 Replies)
Discussion started by: Gargamel
5 Replies

Featured Tech Videos