Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
outlinh1. true
outlinh1. true
1printablefalse
2stylh1. none
3indent20px

Changing the UserID used by JobScheduler on Unix systems

Question

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

Code Block

 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.w6p0JWABC"'
 2012-10-15 18:26:27.475 [info]   /tmp/schedule/sos.w6p0JWABC: line 4: ./TDloadFIMTDloadXXX: 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 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.

  • Display feature availability
    EndingWithRelease1.11
  • Jira
    serverSOS JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution

There are two possible solutions if you are running on Unix:

...

  • serverId6dc67751-9d67-34cd-985b-194a8cdc9602
    keyJS-1565

 

Excerpt

There are multiple ways running jobs with different user ids in order to access objects 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 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

 

 

...

If the file system you are accessing is on another computer and all the files you are acessing have the same owner you can either use SSH or a JobScheduler Agent.