Как запустить скрипт с полномочиями, ожидаемыми общего “предполагаемого пользователя” сценария?

Принятие библиотек, Вы нуждаетесь в поддержке он, необходимо использовать pkg-config, это - то, для чего это сделано.

$ pkg-config --exists libnotify 
$ echo $?
0
$ pkg-config --exists nonexistant
$ echo $?
1
$ 

Вы можете использовать его, чтобы проверить версию, сказать Вам включение или освобождаете пути и т.д.

4
20.03.2013, 01:14
2 ответа

В те дни дешевых виртуальных машин, не будучи способен создавать проверочных пользователей не обычно.

Можно запустить программу под минимальной средой: разумное значение по умолчанию PATH (обычно /usr/local/bin:/usr/bin:/bin), HOME, и безотносительно потребностей программы. Набор HOME к подкаталогу Вашего корневого каталога или где-то в другом месте в целом (например, под /tmp), заполненный только с файлами, которые программа ожидает находить. Это уже - первый тест против случайных зависимостей от среды. Можно хотеть ограничить путь к a /tmp/for-testing/bin содержа только несколько программ, которые, как предполагается, являются достаточно, тестируют против случайных зависимостей от стороннего программного обеспечения. Однако, тест в стандартной установке некоторого распределения был бы более окончательным.

Если для программы нужен доступ к некоторым локальным файлам, можно, тем не менее, смочь протестировать против неожиданных зависимостей от других файлов путем проигрывания с fakechroot. Создайте каталог, содержащий все, в чем система, возможно, нуждается (вниз компоновщику, и стандартная библиотека), плюс программа и ее файлы данных и fakechroot в нее (реальный chroot должен был бы базироваться полномочия).

0
27.01.2020, 21:07

Мое понимание этого вопроса - то, что Вы хотите запустить скрипт как конкретный пользователь, таким образом, это не, разрабатывают быть характерным для учетной записи dev пользователя. Это в значительной степени, что sudo предназначается, чтобы сделать. Просто создайте sudo пользовательское правило как таким образом:

devUser    ALL=(targetUser)    NOPASSWD: /path/to/script

и затем "devUser" может запустить скрипт как таким образом:

$ sudo -u targetUser /path/to/script

Я предпочел бы sudo по "su", так как NOPASSWD сделает разработку немного легче.

-1
27.01.2020, 21:07
  • 1
    Очень маловероятно, что кто-то не могущий создать фиктивного пользователя смог бы отредактировать конфигурацию sudo. А-ч –  depquid 19.03.2013, 23:31

Теги

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