Running a command as another non-root user


 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Running a command as another non-root user
# 1  
Old 08-14-2017
Running a command as another non-root user

Hi,

I am trying to run a command within my KSH script as another user due to permission issues, now both users are non root. I have tried the following command and was unsuccessful:

Code:
 echo "<password>" | sudo -S -u <username> -k command

Can I use sudo to run a command as a non-root user?
# 2  
Old 08-14-2017
What's the command's entry in the sudoers file?
# 3  
Old 08-14-2017
Quote:
Originally Posted by MIA651
Code:
 echo "<password>" | sudo -S -u <username> -k command

This would only work if sudo would accept passwords from stdin, which is not the case (for security reasons).

But even if this wold work you shouldn't do it that way, because you write the password for everybody to read who can read the scripts text. Furthermore, if the password would change you'd have to change the script as well.

Better set up a sudo-rule which allows userA to become userB without any password or to run a certain command (your script) as user B (also without any password). Such a rule would look like:

Code:
# cat /etc/sudoers
[....]
userA   ALL=(userB) NOPASSWD: /path/to/command *
[...]

Notice that the asterisk is probably necessary, otherwise one could not use any commandline arguments.

I hope this helps.

bakunin
This User Gave Thanks to bakunin For This Post:
# 4  
Old 08-15-2017
Quote:
Originally Posted by bakunin
This would only work if sudo would accept passwords from stdin, which is not the case (for security reasons).
Thanks to RudiC who told me i have to correct myself: sudo does indeed read from stdin when called with the -S option. My bad.

It doesn't make that a good idea, though, and what i said still holds, plus: reading passwords from stdin is in itself a bad idea, which is why it isn't done so normally - not by sudo (without the -S), not by passwd and similar tools.

bakunin
This User Gave Thanks to bakunin For This Post:
# 5  
Old 08-15-2017
Unfortunately, I cannot access /etc/sudoers as the file is owned by root and doesn't have permissions for others to read/edit.

What other option do I have to run a command as USER A as USER B. I do not mind running it with the password in the script if that is what it takes, however, my command didn't work.
# 6  
Old 08-15-2017
In other words you are not root, so can not edit and modify sudoers file, it would have been simpler if you replied at rudiC first post, as you cannot use sudo if your user is not defined with what is enabled in the sudoers file...
There is always ways of bypassing only by doing so you create breaches and possible security breaches, so we will not help you doing so unless we know at what you are up to...
And the only good ( safest that is ) is to see an admin and get some sudo update
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Execute a command with root user

i m logged in with user1 id. i wish to execute the below as root user for which i tried several commands but all of them fail. sudo 'cat /tmp/tmp.file >>/etc/logger' Password: sudo: cat /tmp/tmp.file >>/etc/logger: command not found sudo cat /tmp/tmp.file >>/etc/logger bash:... (5 Replies)
Discussion started by: mohtashims
5 Replies

2. Shell Programming and Scripting

CRON JOB not running - for tape backup from root user

I am trying a cron on root user to backup to tape using TAR command here is the cron entry 11 08 * * 6 /erdhot1cron 2>&1 >> /test3/scripts/dba/erdhot1cron.log here is script inside - edhot1cron #!/bin/bash vsysdt=`date +%d%m%y` date tar -cvf /dev/st0... (4 Replies)
Discussion started by: vijaymec50
4 Replies

3. Shell Programming and Scripting

Root running a script calling to scp using user "xyz" is not authenticating!

Close duplicate thread. (0 Replies)
Discussion started by: denissi
0 Replies

4. Shell Programming and Scripting

Running commands in remote node as root user

Platform :Oracle Linux 6.4 We are trying to automate the SAN level cloning from production RAC DB cluster to test. From a shell script, I would like to run the below command Step1,2 and 3 from Node1 in a sequential order as root user . How can I do this ? passwordless for root user is not... (2 Replies)
Discussion started by: kraljic
2 Replies

5. UNIX for Dummies Questions & Answers

Execute a command as root from normal user

Hi , I am trying to stop and start a process using the below code. I have sudo access on my machine ## PID = process id echo "$PASSWD" | sudo -S kill -9 <PID> echo "$PASSWD" | sudo -S /opt/abc/startserver /opt/abc/startserver: error while loading shared libraries: librts.so: cannot open... (6 Replies)
Discussion started by: rakeshkumar
6 Replies

6. Shell Programming and Scripting

How to restrict root user from running some commands

is it possible that we can restrict the root user if he runs some commands?? e.g i want if root runs command 'rm etc/passwd', he shoudn't be able to run command and throws error :confused: (3 Replies)
Discussion started by: sheelsadan
3 Replies

7. UNIX for Dummies Questions & Answers

Allow a user use a specific root command!

Hi, I like to allow an user to permit an root command " /usr/ucb/ps -auxwww", do you know how? Kind regards Mehrdad (6 Replies)
Discussion started by: mehrdad68
6 Replies

8. Shell Programming and Scripting

root user command in shell script execute as normal user

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

9. Shell Programming and Scripting

As root , running script as different user with su - problem

Dear All I am running into a situation where I am running a script as another user lets say oracle using su command as below, and the script fails because the .profile of oracle is not executed so the environment variables are not set. cat /etc/passwd | grep oracle... (4 Replies)
Discussion started by: dbsupp
4 Replies

10. Shell Programming and Scripting

Running a command or script as root

I'm writing an application (Progress language) that needs to: 1) load the contents of a cron table into the Progress application; 2) display this information in a human manner and allow a select group of people to update it (these people are logged in as themselves, not as root); 3) save... (3 Replies)
Discussion started by: rm-r
3 Replies
Login or Register to Ask a Question