Switching to user to stop db


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Switching to user to stop db
# 1  
Old 11-17-2017
Switching to user to stop db

Hi all, I have a script that I will need to run occasionally to stop my db2 instance-

stopDB2.sh

Code:
su -l -c "db2 force application all"
su -l -c "db2 terminate"
su -l -c "db2 stop"
su -l -c "db2licd -end"

This works when I su to the instance owner (archive), and run each line. I need to do this as a script so that root can run it, and I can possibly call it from other scripts.

Code:
jeff@rhel73 [01:22:42] ~/startup/ ->./stopDB2.sh
Password:
su: Authentication failure

What is the best way to do this?
# 2  
Old 11-17-2017
setup a passwordless authentication first
# 3  
Old 11-17-2017
Within /etc/pam.d/su-

Code:
auth            [success=ignore default=1] pam_succeed_if.so user = archive
auth            sufficient      pam_succeed_if.so use_uid user = archive

I am still prompted for password.
# 4  
Old 11-17-2017
Looking at your command prompt, you're logged in as jeff, yet the PAM config is looking for archive?

Would it not be better to use the wheel group rather than individual users?

Code:
auth           sufficient      pam_wheel.so trust use_uid

# 5  
Old 11-20-2017
Could it be neater to use sudo to run your script? You can write a rule (use visudo) to allow specific users or groups to run it. You could then have a calling script or even an alias that just contains:-
Code:
sudo -u username /path/to/stopDB2.sh


Does this offer a useful alternative?

Robin
# 6  
Old 11-20-2017
As an example of rbatte1 is talking about you can have this code near the top of your stopDB2.sh file:

Code:
username=`/usr/bin/whoami`
if [ "$username" != "archive" ]
then
   exec sudo -u archive "$0" "$@"
fi

Now setup a group for your database administrators eg (dbadmin) and set the permissions on /usr/local/bin/stopDB2.sh file as r-x for group dbadmin

Then have the following sudo configuration entry to allow group dbadmin to run stopDB2.sh as user archive without password (remember to only ever use visudo to edit your sudo configuration)

Code:
%dbadmin ALL=(archive) NOPASSWD: /usr/local/bin/stopDB2.sh

Then your dbadmin users should be able to simply run stopDB2.sh without even needing to remember to invoke it with sudo
This User Gave Thanks to Chubler_XL For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Switching from root to normal user takes me to user's home dir

Whenever i switch from root to another user, by doing su - user, it takes me to home directory of user. This is very annoying as i want to be in same dir to run different commands as root sometimes and sometimes as normal user. How to fix this? (1 Reply)
Discussion started by: syncmaster
1 Replies

2. UNIX for Dummies Questions & Answers

Switching user

I need to do a switch user in an automated mode and do a ftp using that switched id. Scenario: initial login xx. switch to user-yy without manually entering the password. ftp some files from user yy to another user zz - automated mode. Can any unix experts can help me for my above query? (9 Replies)
Discussion started by: mjdarm
9 Replies

3. UNIX for Advanced & Expert Users

Switching user in AIX 5

I need to do a switch user in an automated mode and do a ftp using that switched id. Scenario: initial login xx. switch to user-yy without manually entering the password. ftp some files from user yy to another user zz - automated mode. Can any unix experts can help me for my above query? (1 Reply)
Discussion started by: mjdarm
1 Replies

4. Shell Programming and Scripting

su (switching to other user)

Hi, what is the use of the double quotes and !! in the following code segment: su - user1 << ""!! > /dev/null 2>&1 echo "welcome user1" EOF !! also what is the difference between below: su - user1 << ""!! > /dev/null 2>&1 and su - $USER << ""!!!> /dev/null 2>&1. Note: $USER =... (2 Replies)
Discussion started by: bjagadeesh
2 Replies

5. Shell Programming and Scripting

su (switching to other user)

Hi, what is the use of the double quotes and !! in the following code segment: su - user1 << ""!! > /dev/null 2>&1 echo "welcome user1" EOF !! also what is the difference between below: su - user1 << ""!! > /dev/null 2>&1 and su - $USER << ""!!!> /dev/null 2>&1. Note: $USER =... (1 Reply)
Discussion started by: bjagadeesh
1 Replies

6. Shell Programming and Scripting

switching to another user in shell script...

Hi, I have a shell script in which I need to switch to another user and execute some commands and then come back to the original user. To make it more clear - I have to log in as user root then 'su' to jag - execute a script called backup.sh and then logout and come back to root again.. ... (1 Reply)
Discussion started by: bjagadeesh
1 Replies

7. Shell Programming and Scripting

switching user from root to ordinary user

Good day Guys!!! I am currently making a script in AIX, the script runs a SAS job, the owner of the script is the root, but the SAS jobs cannot be run by the root, as it should be run by a user 'sasia'. But inside the script, root creates a logfile, so what I need is just to su to sasia for the... (3 Replies)
Discussion started by: sasia
3 Replies

8. UNIX for Dummies Questions & Answers

FTP - switching user syntax

Running the following shell script, #!/usr/bin/ksh set -x swdofile=/opt/SWDO_IN1V01P001_1.csv USER='myusername' PASSWD='mypassword' HOST='myhostname' ftp -n $HOST << SCRIPT quote USER $USER quote PASS $PASSWD su - BRA -c put $swdofile quit SCRIPT exit 0 but not managing to get the... (1 Reply)
Discussion started by: daveaasmith
1 Replies

9. Shell Programming and Scripting

switching between root and a normal user

I am writing a script that has some tasks that must be run as root, then set of tasks to be run as normal user, then again as root. is there a way to switch between users in a script? any other alternatives? thx (3 Replies)
Discussion started by: melanie_pfefer
3 Replies

10. UNIX for Dummies Questions & Answers

Switching to single-user mode

Hello everyone, I need to make a OS full backup. I am using the vdump command but first, I must to switch to the single-user mode. I am working on a Compaq Tru64 Unix V4.0G. Please, could somebody tell me which is/are the commands to do it? I appreciate your help Gastón (1 Reply)
Discussion started by: gmoyano
1 Replies
Login or Register to Ask a Question