Запуск программы пользовательского пространства как пользователя без полномочий root при загрузке с выскочкой

Есть ли способ настроить сценарий выскочки для выполнения программы пространства пользователя без , сохраняя права root, но поэтому пользователь, имеющий право собственности на программу на основе каталога или разрешений, может останавливать / начать с запуском программы во время загрузки?

3
задан 2 June 2012 в 00:06

15 ответов

Проблема с использованием su трюка с системными заданиями у пользователя нет контроля над этим заданием. Это все еще системное задание, несмотря на то, что он работает как заданный пользователь.

Правильное решение в 12.04 использует пользовательские задания . Эти задания живут в $HOME/.init каждого пользователя и полностью контролируются этим пользователем. У них также нет корневых ресурсов, поскольку пользовательское задание всегда выполняется как учетные данные этого пользователя. В противном случае они действуют как системные задания, поэтому вы можете определить start on строфы точно так же, как и системные задания.

По умолчанию задания Upstart не имеют окружения, кроме того, что определено в задании. Вы можете обойти это путем exec'ing через sh -l (exec /bin/sh -l -c "exec YOUR STUFF HERE").

1
ответ дан 25 July 2018 в 18:41

Да, с помощью sudo:

sudo -u lordoftime program

-u + имя пользователя запускает программу в качестве этого пользователя.

2
ответ дан 25 July 2018 в 18:41

Проблема с использованием su трюка с системными заданиями у пользователя нет контроля над этим заданием. Это все еще системное задание, несмотря на то, что он работает как заданный пользователь.

Правильное решение в 12.04 использует пользовательские задания . Эти задания живут в $HOME/.init каждого пользователя и полностью контролируются этим пользователем. У них также нет корневых ресурсов, поскольку пользовательское задание всегда выполняется как учетные данные этого пользователя. В противном случае они действуют как системные задания, поэтому вы можете определить start on строфы точно так же, как и системные задания.

По умолчанию задания Upstart не имеют окружения, кроме того, что определено в задании. Вы можете обойти это путем exec'ing через sh -l (exec /bin/sh -l -c "exec YOUR STUFF HERE").

1
ответ дан 31 July 2018 в 13:32

Проблема с использованием su трюка с системными заданиями у пользователя нет контроля над этим заданием. Это все еще системное задание, несмотря на то, что он работает как заданный пользователь.

Правильное решение в 12.04 использует пользовательские задания . Эти задания живут в $HOME/.init каждого пользователя и полностью контролируются этим пользователем. У них также нет корневых ресурсов, поскольку пользовательское задание всегда выполняется как учетные данные этого пользователя. В противном случае они действуют как системные задания, поэтому вы можете определить start on строфы точно так же, как и системные задания.

По умолчанию задания Upstart не имеют окружения, кроме того, что определено в задании. Вы можете обойти это путем exec'ing через sh -l (exec /bin/sh -l -c "exec YOUR STUFF HERE").

1
ответ дан 2 August 2018 в 00:50

Да, с помощью sudo:

sudo -u lordoftime program

-u + имя пользователя запускает программу в качестве этого пользователя.

2
ответ дан 2 August 2018 в 00:50

Проблема с использованием su трюка с системными заданиями у пользователя нет контроля над этим заданием. Это все еще системное задание, несмотря на то, что он работает как заданный пользователь.

Правильное решение в 12.04 использует пользовательские задания . Эти задания живут в $HOME/.init каждого пользователя и полностью контролируются этим пользователем. У них также нет корневых ресурсов, поскольку пользовательское задание всегда выполняется как учетные данные этого пользователя. В противном случае они действуют как системные задания, поэтому вы можете определить start on строфы точно так же, как и системные задания.

По умолчанию задания Upstart не имеют окружения, кроме того, что определено в задании. Вы можете обойти это путем exec'ing через sh -l (exec /bin/sh -l -c "exec YOUR STUFF HERE").

1
ответ дан 4 August 2018 в 16:21

Да, с помощью sudo:

sudo -u lordoftime program

-u + имя пользователя запускает программу в качестве этого пользователя.

2
ответ дан 4 August 2018 в 16:21

Проблема с использованием su трюка с системными заданиями у пользователя нет контроля над этим заданием. Это все еще системное задание, несмотря на то, что он работает как заданный пользователь.

Правильное решение в 12.04 использует пользовательские задания . Эти задания живут в $HOME/.init каждого пользователя и полностью контролируются этим пользователем. У них также нет корневых ресурсов, поскольку пользовательское задание всегда выполняется как учетные данные этого пользователя. В противном случае они действуют как системные задания, поэтому вы можете определить start on строфы точно так же, как и системные задания.

По умолчанию задания Upstart не имеют окружения, кроме того, что определено в задании. Вы можете обойти это путем exec'ing через sh -l (exec /bin/sh -l -c "exec YOUR STUFF HERE").

1
ответ дан 6 August 2018 в 00:59

Да, с помощью sudo:

sudo -u lordoftime program

-u + имя пользователя запускает программу в качестве этого пользователя.

2
ответ дан 6 August 2018 в 00:59

Проблема с использованием su трюка с системными заданиями у пользователя нет контроля над этим заданием. Это все еще системное задание, несмотря на то, что он работает как заданный пользователь.

Правильное решение в 12.04 использует пользовательские задания . Эти задания живут в $HOME/.init каждого пользователя и полностью контролируются этим пользователем. У них также нет корневых ресурсов, поскольку пользовательское задание всегда выполняется как учетные данные этого пользователя. В противном случае они действуют как системные задания, поэтому вы можете определить start on строфы точно так же, как и системные задания.

По умолчанию задания Upstart не имеют окружения, кроме того, что определено в задании. Вы можете обойти это путем exec'ing через sh -l (exec /bin/sh -l -c "exec YOUR STUFF HERE").

1
ответ дан 7 August 2018 в 18:25

Да, с помощью sudo:

sudo -u lordoftime program

-u + имя пользователя запускает программу в качестве этого пользователя.

2
ответ дан 7 August 2018 в 18:25

Проблема с использованием su трюка с системными заданиями у пользователя нет контроля над этим заданием. Это все еще системное задание, несмотря на то, что он работает как заданный пользователь.

Правильное решение в 12.04 использует пользовательские задания . Эти задания живут в $HOME/.init каждого пользователя и полностью контролируются этим пользователем. У них также нет корневых ресурсов, поскольку пользовательское задание всегда выполняется как учетные данные этого пользователя. В противном случае они действуют как системные задания, поэтому вы можете определить start on строфы точно так же, как и системные задания.

По умолчанию задания Upstart не имеют окружения, кроме того, что определено в задании. Вы можете обойти это путем exec'ing через sh -l (exec /bin/sh -l -c "exec YOUR STUFF HERE").

1
ответ дан 10 August 2018 в 07:08

Да, с помощью sudo:

sudo -u lordoftime program

-u + имя пользователя запускает программу в качестве этого пользователя.

2
ответ дан 10 August 2018 в 07:08

Проблема с использованием su трюка с системными заданиями у пользователя нет контроля над этим заданием. Это все еще системное задание, несмотря на то, что он работает как заданный пользователь.

Правильное решение в 12.04 использует пользовательские задания . Эти задания живут в $HOME/.init каждого пользователя и полностью контролируются этим пользователем. У них также нет корневых ресурсов, поскольку пользовательское задание всегда выполняется как учетные данные этого пользователя. В противном случае они действуют как системные задания, поэтому вы можете определить start on строфы точно так же, как и системные задания.

По умолчанию задания Upstart не имеют окружения, кроме того, что определено в задании. Вы можете обойти это путем exec'ing через sh -l (exec /bin/sh -l -c "exec YOUR STUFF HERE").

1
ответ дан 15 August 2018 в 19:07
  • 1
    Это работает с 11.04, системой, на которой это будет использоваться? – Thomas Ward♦ 6 June 2012 в 17:49
  • 2
    См. Cookbook о включении пользовательских заданий до 12.04: upstart.ubuntu.com/cookbook/#id95 Затем он должен работать (0.9.7 в 11.04 примерно такой же, как 1.3 в восходящем потоке). – Tuminoid 7 June 2012 в 10:44

Да, с помощью sudo:

sudo -u lordoftime program

-u + имя пользователя запускает программу в качестве этого пользователя.

2
ответ дан 15 August 2018 в 19:07
  • 1
    Будет ли это также использовать среду среды пользовательского пространства, например ~/.progfolder/? – Thomas Ward♦ 2 June 2012 в 00:17
  • 2
    @LordofTime: насколько я читаю на странице руководства, вы можете использовать -H для установки дома и -i запустить логин в оболочке пользователя, тем самым прочитав некоторые файлы конфигурации. Есть несколько блоков в manpage, относящихся к ENV, я не люблю приводить полный текст. Прочтите сами, попробуйте и скажите нам, если у вас возникнут дополнительные проблемы. – user unknown 2 June 2012 в 01:00
  • 3
    Спасибо! Короткая, выполняет задание и не бьет вокруг куста – Nuzzolilo 3 January 2016 в 04:31

Другие вопросы по тегам:

Похожие вопросы: