Welcome to the new Schneider Electric Community

It's your place to connect with experts and peers, get continuous support, and share knowledge.

Close
Important Announcement: WELCOME to the new Schneider Electric Community! Community is now no longer part of Exchange, and is now rebranded under se.com. If you have any bookmarks and links saved, we request you to update them to ensure that you continue accessing our community from this new location. For any issues that you might encounter as part of this change, please reach out to SchneiderCommunity.Support@se.com, and the team will help to get your issues resolved.
Invite a Co-worker
Send a co-worker an invite to the Exchange portal.Just enter their email address and we’ll connect them to register. After joining, they will belong to the same company.
Send Invite Cancel
82209members
349805posts

sudo in "run script" not possible?

APC UPS Data Center Backup Solutions Forum

Schneider Electric support forum for Data Center UPS, software and services including our APC offers designed to share knowledge, installation, configuration, and general product use.

Solved
fiveangle_apc
Crewman
Crewman
0 Likes
1
253

sudo in "run script" not possible?

This was originally posted on APC forums on 9/27/2007


I have a NAS device that does not support any type of automated shutdown in the event of utility power failure but does have a command line interface to gracefully halt system via SSH.

I have setup an IBM T21 laptop with Centos 3 and PCNS 2.2.1
I have configured SSH keys on PCNS client and NAS for passwordless remote SSH command execution
I have configured PCNS on the laptop to monitor an APC AP9619 Network Management Card installed in a SmartUPS-1500
I have configured the "The command file needs this much time to complete (seconds)" parameter to "100"
I have set the "Run this command file (full name)" parameter with the absolute path "/root/shutdown_nas.sh"
I have assured correct permissions and execution bit set for script
I have placed the following into the /root/shtudown_nas.sh file:

<----begin---->
#!/bin/sh
echo "success" >> /root/pcns.log
<----end---->

I execute "tail -f /root/pcns.log" on the laptop to watch the contents of the file
I disconnect primary power from the SmartUPS-1500
I observe "success" is entered into the /root/pcns.log file
I create a user "pcnsd" on the laptop and add to "root" group
I then enter the following into the /root/shutdown_nas.sh file:

<----begin---->
#!/bin/sh
sudo -u pcnsd echo "success" >> /root/pcns.log
<----end---->

I execute "tail -f /root/pcns.log" on the laptop to watch the contents of the file
I execute /root/shutdown_nas.sh on the command line as the "root" user
I observe "success" is entered into the /root/pcns.log file
I disconnect primary power from the SmartUPS-1500
I observe no change in the /root/pcns.log file
I observe the laptop shutdown after approximately 100 seconds

The PCNS daemon appears to be a Java application run as the root user so I cannot for the life of me determine why it does not have permission to execute the sudo command.

I have racked my brain on this one and would appreciate any help or guidance of others more knowledgeable about the PCNS daemon client software.

Thanks !
-=dave


Accepted Solutions
voidstar_apc
Janeway
Janeway
0 Likes
0
253

Re: sudo in "run script" not possible?

This was originally posted on APC forums on 11/10/2007


I don't have pcns to test this on, but my guess is that the append operation isn't being run under the privileges of user pcnsd. Observe:

test:~ voidstar$ sudo touch pcns.log
test:~ voidstar$ ls -al pcns.log
-rw-r--r-- 1 root voidstar 0 Nov 10 10:20 pcns.log
test:~ voidstar$ sudo echo "hi" >> pcns.log
-bash: pcns.log: Permission denied
test:~ voidstar$ sudo rm -rf pcns.log
test:~ voidstar$

I created pcns.log under sudo, I could delete it, but the append operation failed. This is because the bash interpreter is interpreting the sudo line as:

(sudo echo "hi") >> pcns.log

and therefore appending isn't being done as root. Maybe you should make a 2nd shell script and kickstart that with sudo.

Best of luck

Message was edited by: voidstar

See Answer In Context

1 Reply 1
voidstar_apc
Janeway
Janeway
0 Likes
0
254

Re: sudo in "run script" not possible?

This was originally posted on APC forums on 11/10/2007


I don't have pcns to test this on, but my guess is that the append operation isn't being run under the privileges of user pcnsd. Observe:

test:~ voidstar$ sudo touch pcns.log
test:~ voidstar$ ls -al pcns.log
-rw-r--r-- 1 root voidstar 0 Nov 10 10:20 pcns.log
test:~ voidstar$ sudo echo "hi" >> pcns.log
-bash: pcns.log: Permission denied
test:~ voidstar$ sudo rm -rf pcns.log
test:~ voidstar$

I created pcns.log under sudo, I could delete it, but the append operation failed. This is because the bash interpreter is interpreting the sudo line as:

(sudo echo "hi") >> pcns.log

and therefore appending isn't being done as root. Maybe you should make a 2nd shell script and kickstart that with sudo.

Best of luck

Message was edited by: voidstar