<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7654.12">
<TITLE>RE: [ale] bash script with su</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/plain format -->

<P><FONT SIZE=2>If you control the script, why do you need different parts of it to run at different privilege levels? Instead access-protect it, limit who can launch it, and have them launch it '$ sudo &lt;my_script&gt;' if necessary. (I do this, so I would be happy to know if it's not smart!!)<BR>
<BR>
&nbsp;- JMM<BR>
<BR>
<BR>
-----Original Message-----<BR>
From: ale-bounces@ale.org on behalf of Jim Kinney<BR>
Sent: Mon 6/8/2009 10:18 AM<BR>
To: Atlanta Linux Enthusiasts - Yes! We run Linux!<BR>
Subject: [ale] bash script with su<BR>
<BR>
I have bash script that does a gazillion things. EXCEPT two of the<BR>
&quot;su&quot; lines don't do anything.<BR>
<BR>
user batadm and postgres are created (correctly - they works) followed by:<BR>
<BR>
echo 'export PGHOME=/usr/local/postgresql<BR>
export PGDATA=/data/pgdata<BR>
export PATH=$PGHOME/bin:$PATH<BR>
' &gt;&gt; /home/postgres/.bashrc<BR>
<BR>
which should set the path to the custom postgresql binaries<BR>
<BR>
now run<BR>
<BR>
su -l -c &quot;initdb &amp;&amp; pg_ctl start &amp;&amp; createlang plpgsql template1 &amp;&amp;<BR>
createdb batadm &amp;&amp; createuser -s batadm &quot; postgres &gt;&gt;$log 2&gt;&amp;1<BR>
<BR>
where $log is a file defined earlier for install data capture. At this<BR>
point it shows an execute of initdb and then nothing.<BR>
<BR>
Does the -c &quot;stuff&quot; just refuse to run sequential comands? I did the<BR>
manual su -l batadm and ran the same command sequence successfully<BR>
after totally deleting all the initdb files structure in postgresql.<BR>
So the stuff inside the quotes works. $PATH _should_ be updated for<BR>
the postgres user by the su -l&nbsp; .<BR>
<BR>
The same type of &quot;nothing happens&quot; error occurs later when the batadm<BR>
user is called to do a series of new sql script inits for the new<BR>
batadm database. Run manually, the process is fine. Run in a su -l<BR>
sequence of &amp;&amp;'ed calls it fails and generates no error message.<BR>
<BR>
Ideas?<BR>
<BR>
--<BR>
--<BR>
James P. Kinney III<BR>
Actively in pursuit of Life, Liberty and Happiness<BR>
_______________________________________________<BR>
Ale mailing list<BR>
Ale@ale.org<BR>
<A HREF="http://mail.ale.org/mailman/listinfo/ale">http://mail.ale.org/mailman/listinfo/ale</A><BR>
<BR>
</FONT>
</P>

</BODY>
</HTML>