12-12-2005
change user through shell script
hi,
my problem is that i am calling a script from my perl program.
the script checks wether a particular process is running or not if the process is not running then it should start the process.
the problem here is that the front end logs into backend with a user which does not have the permission to restart the process.
i tried using SU command it prompts me for the password. expect is not installed so was not able to use it. i even tried setting the SUID bit of the script and running the script as
su - user -c "/path/test.sh
here it starts asking for the roots password
the script is:
#!/bin/sh
var1=`ps -ef | grep -v grep | grep ravi | awk '{print $2}'`
echo $var1
if [ -z $var1 ]
then
echo "The Process is Running"
else
xx=`whoami`
echo $xx
cwd=`cd /user/bin`
pwd=`pwd`
echo $pwd
`su - user`
`ravi`
xx=`whoami`
echo $xx
prrestart=`/ravi/admin/KickWatchdog -restart`
echo "You win"
fi
echo $vasr1
echo 'ravi'
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi,
is it possible to chnage the user in a shell script?
i would like to create a script with should make some actions on the host which needs root permissions.
i want do give the user which should start the script the root permissions.
so is it possible to make a command in the script... (2 Replies)
Discussion started by: scottl
2 Replies
2. Shell Programming and Scripting
Hi all,
I am trying to eject the cdrom from a livecd after certain stage...
Now assuming that it is possible to eject,please consider my issue!!!
The OS boots into a regular user by default...so i am unable to use the eject command to push out the drive...
However if i try pfexec eject it... (3 Replies)
Discussion started by: wrapster
3 Replies
3. Shell Programming and Scripting
Hi All
I have written one shell script for GPRS route add is given below named GPRSRouteSet.sh
URL="www.google.com"
VBURL="10.5.2.211"
echo "Setting route for $URL for GPRS"
URL_Address=`nslookup $URL|grep Address:|grep -v "#"|awk -F " " '{print $2}'|head -1`
echo "Executing ... (3 Replies)
Discussion started by: mnmonu
3 Replies
4. Shell Programming and Scripting
Hello there!
I need help:
I have this script:
#!/bin/bash
#chage to root user
sudo su
#Insert actual date
echo -n "Ingrese fecha actual: "
#Read the actual date
read fecha
#clean RAM memory
sync ; echo 3 > /proc/sys/vm/drop_caches ; swapoff -a && swapon -a
#backup opennms... (2 Replies)
Discussion started by: bobbasystem
2 Replies
5. UNIX for Dummies Questions & Answers
Hi,
I am new for solaris...
how can we change default shell for any user and how to check that which shall currently we are in...... (1 Reply)
Discussion started by: lalit21984
1 Replies
6. Shell Programming and Scripting
Hi Experts,
I had tried to executes this script to change the user password through script:
No lines in buffer
#!/bin/ksh
cat /etc/passwd | grep -v userid >> /tmp/pass.tmp1
cat /etc/passwd | grep userid >> /tmp/pass.tmp2
PASS1=`cat /tmp/pass.tmp2 | cut -d ":" -f2`
PASS2=`q2w3e4r5`
sed... (3 Replies)
Discussion started by: indrajit_renu
3 Replies
7. UNIX for Dummies Questions & Answers
Hi,
I want to change the password of unix users on a number of servers.My plan was to ssh to all the servers in a shell script and use the passwd command. I tried to do so but everytime i run it i get this error.
ssh -x -n -l user1 host passwd
Changing password for "user1"
3004-709 Error... (3 Replies)
Discussion started by: poojabhat
3 Replies
8. Linux
Dear Forum,
In our organization 100 user is existing. Now i want to change password for 100 user in linux server. Pls help to write script for changing password.
Regads//
Taifur (3 Replies)
Discussion started by: taifurakhand
3 Replies
9. Shell Programming and Scripting
I would like to replicate the functionality of chsh (or passwd -e) by awk.
This is what I got so far, but I think there should be an easier way to search and replace field $7 only for lines beginning with user_name:
awk -v user_name="$user_name" -v new_shell="$new_shell" -F: '$1 == user_name {... (2 Replies)
Discussion started by: nomad84
2 Replies
10. Shell Programming and Scripting
i have a script that needs to be run as a specific user. lets call this specific user "skysmart".
sure, i can check the username of the person running the script and if it isn't "skysmart", simply abort with a descriptive error message. but then, that would require the user to have to "sudo su... (6 Replies)
Discussion started by: SkySmart
6 Replies
LEARN ABOUT DEBIAN
speedy_backend
SPEEDY_BACKEND(1p) SPEEDY_BACKEND(1p)
NAME
speedy_backend - the backend process for a persistent Perl interpreter
SYNOPSIS
none ; this program is not meant to be called directly.
DESCRIPTION
speedy, short for SpeedyCGI, is a way to run perl scripts persistently, which can make them run much more quickly.
After the script is initially run, instead of exiting, the perl interpreter is kept running inside a backend process, speedy_backend. Dur-
ing subsequent runs, this interpreter is used to handle new executions instead of starting a new perl interpreter each time. A very fast
frontend program, speedy, written in C, is executed for each request. This fast frontend then contacts the persistent Perl process, which
is usually already running, to do the work and return the results.
Each perl script runs in its own Unix process, so one perl script can't interfere with another. Command line options can also be used to
deal with programs that have memory leaks or other problems that might keep them from otherwise running persistently.
The speedy front end connects to the back end process, speedy_backend, via a Unix socket in /tmp. A queue is kept in a shared file in /tmp
that holds an entry for each process. In that queue are the pids of the perl processes waiting for connections. The frontend pulls a
process out of this queue, connects to its socket, sends over the environment and argv, and then uses this socket for stdin/stdout to the
perl process.
FILES
/tmp/speedy* A unix socket used to connect to the frontend process.
AUTHOR
Sam Horrocks
http://daemoninc.com
sam@daemoninc.com
NOTES
This manual page was created by Niko Tyni <ntyni@iki.fi> for Debian GNU/Linux, because the original program does not have one. It is based
on the original and more complete CGI::SpeedyCGI(3pm) manual page.
SEE ALSO
perl(1), CGI::SpeedyCGI(3pm), speedy(1)
SPEEDY_BACKEND(1p)