Help with Shell Script on sudo


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help with Shell Script on sudo
# 1  
Old 09-13-2011
Help with Shell Script on sudo

I want to execute a script(generateReport.sh) which resides on root home directory from shell script(localtrigger.sh) as root by using sudo.

The thing is
i cant edit /etc/sudoers (i can but m not allowed to do it , ethically)
i cant change ownership of generateReport.sh script

When i try to run command using
Code:
sudo ./generateReport.sh $1 $2 $3 $4 $5 $6

in the localtrigger.sh script

i get this error
Code:
Sorry, user xyz is not allowed to execute './generateReport.sh' as root on usrdts.

i have no problem even if sudo asks for a password when i run localtrigger.sh

Please help me out.

Thanks in advance.

Moderator's Comments:
Mod Comment Please use [code] and [/code] tags when posting code, data or logs etc. to preserve formatting and enhance readability, thanks.

Last edited by zaxxon; 09-13-2011 at 05:47 AM.. Reason: code tags, see PM
# 2  
Old 09-13-2011
You will need to edit /etc/sudoers to include the user information.

Code:
#/etc/sudoers - use visudo to edit the file
#without passwd
xyz  ALL= NOPASSWD:/full/path/to/generateReport.sh

#with passwd
xyz  ALL= PASSWD:/full/path/to/generateReport.sh

--ahamed
# 3  
Old 09-13-2011
thanx for reply

yes i know,
i have tried it earlier and it works but
this is not the solution which i can implement due to some policies.

Do u know any other solution????
# 4  
Old 09-13-2011
sudo is doing precisely what it's designed to do -- preventing users from running something as root unless properly authorized. If you're not permitted to edit sudoers, and you're not authorized, you're not authorized. If there was a way "around" this, it would be a gaping security hole needing to be fixed as soon as possible.

So, you'll need to use means that aren't sudo. Can you su or sudo su ?

If it was a binary program you could set it setuid and it'd always run as root, but this doesn't work for shell scripts.

Last edited by Corona688; 09-13-2011 at 01:41 PM..
# 5  
Old 09-13-2011
i do have priviledges
to edit sudoers file
to execute sudo su

and frankly i dont want to exploit any security hole nor interested in finding one.

The thing is this script reportGenerate.sh is going to execute in production env. and due to security policy we are requested not to edit sudoers file.
i cant change ownership of that script.

do u need any more information for finding a appropriate solution.
please do tell..Smilie

and thnx for reply
# 6  
Old 09-13-2011
If you can't use sudo and can't use su and can't use setuid, you're not going to be able to run it as root. They'd likely consider it circumventing their security rules in any case.

Why does the script need root? Maybe the permissions on whatever it needs can be altered so it doesn't.
# 7  
Old 09-14-2011
again i really appreciate ur help.

i can use sudo but cannot edit sudoers file.

here is brief intro of situation
the script generateReport.sh is created by me (user xyz) and is kept in another user ( abc ) home directory. ok .
the script want to read some files which abc users have access to.

the current situation is i execute command
Code:
 sudo su - -s /bin/bash abc

and then access the files

i want to automate this process in script
so when i
Code:
 sudo ./generateReport.sh $1

it asks my password which i provide then after logging in it produces error as specified in my 1st post. ( user xyz execute script as root on user abc )


i can talk with user abc for some changes if they are minor.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Sudo password in shell file

Hi all, I have a script like this, where i am trying to login into oracle db via ssh and do a account unlock. #!/bin/sh ip=$1 os_user=$2 key=$3 ou_user=$4 ou_pass=$5 unlock_user=$6 ssh -i $key $os_user@$ip sudo -u $ou_user -p $ou_pass -- i am getting error here...its not taking... (16 Replies)
Discussion started by: onenessboy
16 Replies

2. UNIX for Beginners Questions & Answers

Require help in creating a Sudo/Shell script

Hello Friends, I have a scenario to create a script, I know many of you feel this as simple script. I am not much familiar with unix scripting, please help me out. Situation:- 1. I have a list of config files like 40+ would be getting deployed in the /app/abcd/src/Config/ (This will... (2 Replies)
Discussion started by: ganjvin
2 Replies

3. Shell Programming and Scripting

Shell sIs there something special I need to do when using sudo in a script?

I have a script in which I used "sudo -s" I notice some extremely strange behavior when executing this script. To investigate this I decided to recreate the problem in the following script. I notice that "sudo -s" is only being executed one time. Soon after completely falls apart. Is there... (4 Replies)
Discussion started by: busi386
4 Replies

4. Shell Programming and Scripting

ssh foo.com sudo command - Prompts for sudo password as visible text. Help?

I am writing a BASH script to update a webserver and then restart Apache. It looks basically like this: #!/bin/bash rsync /path/on/local/machine/ foo.com:path/on/remote/machine/ ssh foo.com sudo /etc/init.d/apache2 reloadrsync and ssh don't prompt for a password, because I have DSA encryption... (9 Replies)
Discussion started by: fluoborate
9 Replies

5. Shell Programming and Scripting

sudo su - user in a shell script

Normally i would google, but I did not know how to google the problem I am facing now also being a newbie in shell scripting. Okay, the requirement is user1 has sudo rule to su - user2(NO PASSWORD) and user2 has will be able to sudo certain commands so following works fine from command prompt... (2 Replies)
Discussion started by: beEnthu
2 Replies

6. Shell Programming and Scripting

How to switch user in shell scripting (without sudo)?

Hi everyone: I have a big trouble, I need create a script that must switch user and then must execute certain commands, sadly neither my user nor the second user have no privileges for sudo, I've tried everything but seems su doesn't accept input redirection, please help me, it's very... (8 Replies)
Discussion started by: edgarvm
8 Replies

7. Shell Programming and Scripting

shell script problem , sudo mount command

cat test.sh sudo mount -t vfat /dev/sda7 /media/Ddrive If i double click the test.sh file and select run in terminal then the terminal prompts for password. How can i avoid typing password? Or if i double click test.sh file and select run then nothing happens. What i'm trying "Double... (3 Replies)
Discussion started by: cola
3 Replies

8. Shell Programming and Scripting

Help with sudo in shell scripts

hi, I have a script abc in a machine xyz. which i can access by sudo su - user. that is i can login to xyz using my id and then switch to user and run the script. Now what i need to do is run the script from another script in machine xyz1. From xyz1 i can ssh to xyz using my id. Some one... (1 Reply)
Discussion started by: rvz
1 Replies

9. Solaris

shell variable not following through with sudo

Good morning.. ok, so I have 2 desktops that are supposed to be built VERY similar. They both have solaris 10 installed on them. I have a specific user that is trying to pass variables through using sudo. He already has this variable set.. tmp=/home/useraccount/tmp However when he does:... (1 Reply)
Discussion started by: s ladd
1 Replies

10. UNIX for Dummies Questions & Answers

sudo in OS X shell script without password prompt??

I've written a shell script to alter a particular preference file on OS X (10.3.9), which works fine (tested by running the script from the terminal sat in front of the box). Problem is, I now have to run this script remotely across a number of machines via remote desktop, so where I've used the... (1 Reply)
Discussion started by: Brad_GNET
1 Replies
Login or Register to Ask a Question