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

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

#!/usr/bin/gnuplot

set terminal png crop size 1600,600;
set output "figure.png";

plot x, \
     x*x, \
     x*x*x,
1
21.08.2018, 05:50
2 ответа

Во-первых, sudo является хорошим способом запустить скрипт как ограниченного пользователя.

Во-вторых, ли будут проблемы, выполняющие больше чем один экземпляр сценария, одновременно будет зависеть от того, что на самом деле делает сценарий. Это (обычно) ничего не имеет к с тем, выполняются ли различные экземпляры тем же пользователем - вместо этого, необходимо рассмотреть, могли ли сценарий, например, попытки отредактировать файл, в этом случае два экземпляра попытаться отредактировать тот же файл одновременно, который может оставить файл в неожиданном состоянии.

Кроме того, конечно, если Вы ограничиваете, сколько процессов пользователю разрешают работать, или сколько памяти позволяется использовать, затем в какой-то момент можно столкнуться с пределом, и сценарий не сможет сделать то, что Вы хотите. Но это - функция целой ограничивающей системы. (Если у Вас нет пределов, затем плохо записанная программа может заставить Вашу всю систему прекращать работу. Но снова, который является из-за того, как программа записана, не из-за того, кто выполняет ее (за исключением того, что, если Вы запускаете программу как корень затем, намного легче повредить вещи, который является, почему хорошо, что у Вас есть ограниченный пользователь рабочие вещи).)

2
27.01.2020, 23:29
  • 1
    Спасибо за Ваш ответ. (1) я планирую предотвратить какие-либо чтения/запись файла в сценарии, таким образом, я должен быть в порядке затем? (2) я испытаю таймаут, если сценарий займет слишком много времени так идеально должна только быть работа процессов ограниченного количества того же пользователя. Я обновил свой вопрос. –  gideon 19.02.2013, 13:03
  • 2
    (1) Да, необходимо быть в порядке. (2) Также не должен быть проблемой затем. Когда Вы начинаете испытывать вещи, Вы могли бы хотеть сделать возвращение ps -f -U limiteduser видеть то, что выполняют процессы. Кроме того, top команда должна представлять интерес. –  Jenny D 19.02.2013, 13:12

Относительно Вашей первой точки это - способ сделать это! Это корректно.

О второй точке Unix/Linux может справиться со многими параллельными процессами во многом как любой мультипроцесс ОС. Когда это вызывает проблемы, это обычно происходит из-за конкуренций ресурса. Так все Ваши процессы, собирающиеся получить доступ к одному файлу, или одной файловой системе на медленном устройстве хранения данных или одному ресурсу IPC с большой блокировкой, и т.д. Так в основном concurreny проблемы Вы имели бы на OS X или Windows, имели бы общие черты в мирах Linux/Unix.

1
27.01.2020, 23:29
  • 1
    +1 эй спасибо за Ваш ответ. Я планирую предотвратить любое чтение-записи файла в script.pl таким образом, я должен быть в порядке право? –  gideon 19.02.2013, 13:04
  • 2
    существуют различные другие ресурсы, чем файлы. У Вас могут быть сеть, память... Я хотел заявить, что Linux является мультипроцессом, многопоточная ОС, таким образом, это будет вести себя довольно хорошо со многими процессами. Но это все зависит от такого количества факторов (сколько ветвлений в период, сколько процесс просыпается в период, и т.д.), на который Ваш вопрос слишком универсален для ответа с да или нет. То, что я могу сказать Вам, - то, что можно запустить много программу процесса на Linux, Вы ничего не повредите. –  Huygens 19.02.2013, 20:20

Теги

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