Sponsored Content
Top Forums Shell Programming and Scripting Running a script as root but with different users inside Post 302903754 by blackrageous on Thursday 29th of May 2014 10:55:35 AM
Old 05-29-2014
You don't have to use sudo, you can use just su - <user> -c <command>

Code:
NAME
       su - run a shell with substitute user and group IDs

SYNOPSIS
       su [OPTION]... [-] [USER [ARG]...]

DESCRIPTION
       Change the effective user id and group id to that of USER.

       -, -l, --login
              make  the  shell  a  login  shell, clears all envvars except for
              TERM, initializes HOME, SHELL, USER, LOGNAME and PATH

       -c, --command=COMMAND
              pass a single COMMAND to the shell with -c

This User Gave Thanks to blackrageous For This Post:
 

10 More Discussions You Might Find Interesting

1. 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

2. UNIX for Dummies Questions & Answers

running sed inside script file

i am substituting some text in the xml file using sed, on shell directly it works fine, but when i run it inside script file, it say, the function cant be parsed, i think the prob is due to xml file, kindly help (4 Replies)
Discussion started by: bajaj111
4 Replies

3. Cybersecurity

Running script through SSH as root

Hi all, I have a situation where I have a shell script that I need to run remotely on multiple *nix machines via SSH. Unfortunately, some of the commands in it require root access. I know that best practices for ssh entail configuring it so that the root account cannot log in, you need to... (4 Replies)
Discussion started by: irinotecan
4 Replies

4. Shell Programming and Scripting

Running a unix script(which is calling another script inside that) in background

Hi all, I am having a script ScriptA which is calling a script ScriptB in the same server and copying files to second server and have to execute one script ScriptC in the second server. THis First script ScriptA is the main script and i have to execute this process continously. for Keeping... (2 Replies)
Discussion started by: rohithji
2 Replies

5. Shell Programming and Scripting

Running a script from if block inside another script

how do i run a script from if block inside another script? this is what i tried but it doesnt seem to work: if test $a -eq $w then sh /home/scripts/script1.bash fi (3 Replies)
Discussion started by: shishirkotkar
3 Replies

6. Shell Programming and Scripting

Issue running script as root

1) Environment:Red Hat Linux, bash shell Script to be run owned by user :myUser Home environment of myUser: pathto/home 2) ESP agent with root access will run JobXXX.sh su - myUser -c "/pathto/home/bin/script.sh" where script.sh has some echo statements and an exit statement in the end... (4 Replies)
Discussion started by: cj09
4 Replies

7. Shell Programming and Scripting

Shell script for to view all users & groups history in root

Dear All, I want to know all users & group history in one file, for root terminal through shell or any other option (5 Replies)
Discussion started by: kpoobathi
5 Replies

8. Shell Programming and Scripting

help in running while loop inside a shell script

I have an input file at ./$1.txt with content of seq numbers like : 1234567890 1234589700 . . so on.. I need to take each seq nbr from the input file ,run the query below: select ackname,seqnbr from event where event_text like '%seqnbr( from the input file)' and redirect the... (11 Replies)
Discussion started by: rkrish
11 Replies

9. Shell Programming and Scripting

Running .sh file inside a shell script

Hello, You might help a newbie like me, I am trying to run a .sh inside my shell script. After running that I need to execute below commands. Here's how my scripts looks like. Hope you can help: #!/bin/sh cd $ORACLE_HOME/owb/bin/unix ./OMBPlus.sh ---> goes to OMB+> directory cd... (10 Replies)
Discussion started by: aderamos12
10 Replies

10. UNIX for Beginners Questions & Answers

Parsing Root password inside a C shell script

Hello everyone, I want to check how long a remote computer is running (e.g. with the command uptime or who - b) The check should be done during login from none root user by a script which is called from .cshrc. My script works fine if I login as root but I want that everybody get the information... (5 Replies)
Discussion started by: Nadielosabra
5 Replies
RUNUSER(1)							   User Commands							RUNUSER(1)

NAME
runuser - run a command with substitute user and group ID SYNOPSIS
runuser [options] -u user [[--] command [argument...]] runuser [options] [-] [user [argument...]] DESCRIPTION
runuser allows to run commands with a substitute user and group ID. If the option -u is not given, it falls back to su-compatible seman- tics and a shell is executed. The difference between the commands runuser and su is that runuser does not ask for a password (because it may be executed by the root user only) and it uses a different PAM configuration. The command runuser does not have to be installed with set-user-ID permissions. If the PAM session is not required then recommended solution is to use setpriv(1) command. When called without arguments, runuser defaults to running an interactive shell as root. For backward compatibility, runuser defaults to not change the current directory and to only set the environment variables HOME and SHELL (plus USER and LOGNAME if the target user is not root). This version of runuser uses PAM for session management. OPTIONS
-c, --command=command Pass command to the shell with the -c option. -f, --fast Pass -f to the shell, which may or may not be useful depending on the shell. -g, --group=group The primary group to be used. This option is allowed for the root user only. -G, --supp-group=group Specify a supplemental group. This option is available to the root user only. The first specified supplementary group is also used as a primary group if the option --group is unspecified. -, -l, --login Start the shell as a login shell with an environment similar to a real login: o clears all the environment variables except for TERM o initializes the environment variables HOME, SHELL, USER, LOGNAME, PATH o changes to the target user's home directory o sets argv[0] of the shell to '-' in order to make the shell a login shell -m, -p, --preserve-environment Preserve the entire environment, i.e. it does not set HOME, SHELL, USER nor LOGNAME. The option is ignored if the option --login is specified. -s, --shell=shell Run the specified shell instead of the default. The shell to run is selected according to the following rules, in order: o the shell specified with --shell o the shell specified in the environment variable SHELL if the --preserve-environment option is used o the shell listed in the passwd entry of the target user o /bin/sh If the target user has a restricted shell (i.e. not listed in /etc/shells) the --shell option and the SHELL environment variables are ignored unless the calling user is root. --session-command=command Same as -c , but do not create a new session. (Discouraged.) -V, --version Display version information and exit. -h, --help Display help text and exit. CONFIG FILES
runuser reads the /etc/default/runuser and /etc/login.defs configuration files. The following configuration items are relevant for runuser: ENV_PATH (string) Defines the PATH environment variable for a regular user. The default value is /usr/local/bin:/bin:/usr/bin. ENV_ROOTPATH (string) ENV_SUPATH (string) Defines the PATH environment variable for root. The default value is /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin. ALWAYS_SET_PATH (boolean) If set to yes and --login and --preserve-environment were not specified runuser initializes PATH. EXIT STATUS
runuser normally returns the exit status of the command it executed. If the command was killed by a signal, runuser returns the number of the signal plus 128. Exit status generated by runuser itself: 1 Generic error before executing the requested command 126 The requested command could not be executed 127 The requested command was not found FILES
/etc/pam.d/runuser default PAM configuration file /etc/pam.d/runuser-l PAM configuration file if --login is specified /etc/default/runuser runuser specific logindef config file /etc/login.defs global logindef config file SEE ALSO
setpriv(1), su(1), login.defs(5), shells(5), pam(8) HISTORY
This runuser command was derived from coreutils' su, which was based on an implementation by David MacKenzie, and the Fedora runuser com- mand by Dan Walsh. AVAILABILITY
The runuser command is part of the util-linux package and is available from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils /util-linux/>. util-linux July 2014 RUNUSER(1)
All times are GMT -4. The time now is 08:02 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy