Your SAS programs, embedded in web apps and elsewhere

Can we use the UNIX su command from a stored process?

Reply
Contributor
Posts: 23

Can we use the UNIX su command from a stored process?

When I run a stored process I can issue system commands (since I turned the option on to allow me to do so). These commands run as sassrv - which is the userid that runs our stored processes. I would like to do an SU command to become another user (sas) since I am trying to make a stored process to restart our spawners. However the SU command prompts for a password, and I cant reply to that prompt in my stored process ... or can I?

Please advise.

thanks
Phil
Super User
Posts: 5,424

Re: Can we use the UNIX su command from a stored process?

Posted in reply to PhilMason
Isn't it possible to call a script that in turn does the su command (and calls the restart spawner script)?

/Linus
Data never sleeps
Contributor
Posts: 23

Re: Can we use the UNIX su command from a stored process?

thanks for the idea Linus, but dont I have the same problem? In a script I would do say ...

su sas

and then the script would prompt for the password. I looked at the man page for su and couldnt see any way to pass the password into the su command. It would be nice if I could do ...

su sas / pwd=abc

but I cant (as far as I know)...
Super User
Posts: 5,424

Re: Can we use the UNIX su command from a stored process?

Posted in reply to PhilMason
After a little stroll around the net, I found that this seems to be a generic problems. Some of the suggested solutions are:

-running as root (not recommended)
-using printf together with telnet
-using something called sudo (seperate package)
-using somthing called expect package

/Linus
Data never sleeps
SAS Employee
Posts: 11

Re: Can we use the UNIX su command from a stored process?

Posted in reply to PhilMason
Just thinking out loud..... but how do you use a Stored Process to restart the Object spawner? The minute you issue the restart command to the spawner, it will kill your stored process, and you will never get any results back to check whether your command was successful. Or are you intending to kill the actual PID's that relate to the Stored Process Server but leave the spawner running?

For what it's worth, if you have SAS connect, you could in theory have an STP that calls a signon to your server but uses the SAS User credentials. Once that connect session is established, you could then execute the call to the object spawner to restart it as you will be now running under the SAS user account.

When I have done this in the past, it has typically been through the use of another 3rd party tool - sudo, upm etc.

Cheers.
Ask a Question
Discussion stats
  • 4 replies
  • 402 views
  • 0 likes
  • 3 in conversation