You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »

Changing the UserID used by JobScheduler on Unix systems

Question

One of the files on our file system belongs to a different user to that used by our JobScheduler.
This is causing the following errors:

 2012-10-15 18:26:27.360 [info]   SCHEDULER-918  state=starting (at=2012-10-15 18:26:27.333)
 2012-10-15 18:26:27.361 [info]   SCHEDULER-987  Starting process: '/bin/sh' '-c' '"/tmp/schedule/sos.ABC"'
 2012-10-15 18:26:27.475 [info]   /tmp/schedule/sos.ABC: line 4: ./TDloadXXX: Permission denied
 2012-10-15 18:26:27.475 [info]   SCHEDULER-915  Process event
 2012-10-15 18:26:27.476 [ERROR]  SCHEDULER-280  Process terminated with exit code 126 (0x7E)

I noticed there is a setuid utility that could be used, I have looked through the FAQ, could you give us some information please as this could fix our issue?

Answer

The setuid utility is deprecated.

FEATURE AVAILABILITY ENDING WITH RELEASE 1.11

JS-1565 - Getting issue details... STATUS

There are some more possible ways of accessing an object belonging to a different user:

  • Use Agent instances

  • Use sudo in the JobScheduler job

    • To access a file belonging to "other_user" use
      sudo -u other_user script_for_other_user.sh 

    • Make sure that other_user doesn't require a password for sudo. This can be achieved by adjusting the configuration from the sudoers file. This method has the advantage that it is extremely flexible - you can change the user more than once within a job. if sudo requires a password then you can use 
      echo "<password>" | sudo -S -u other_user script_for_other_user.sh

 

  • No labels