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

Compare with Current View Page History

« Previous Version 11 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 that could be used, I have looked through the FAQ, could you give us some information please as this could fix our issue?

Answer

SETUID is deprecated.

There are, however, two other possible ways of accessing an object belonging to another user.

  • 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 need a password for sudo. This is done by editing 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 a sudo password required then you can call echo "<password>" | sudo -S -u other_user script_for_other_user.sh

     

  • If it is not possible to use sudo or if all the files you are accessing have the same owner you can either use SSH or a JobScheduler Agent.

    Note that the use of SSH is not confined to remote computers - you can use it to access local files. A JITL SSH job is provided with every JobScheduler installation. See the following:

 

  • No labels