Пользователь без полномочий root запрашивает root для перезапуска определенной службы.

Como otros ya señalaron, lo que necesita simplemente es usar la función dentro de la instrucción if. Aquí hay algo que quizás no sabías:

Una función puede tratarse como una forma de comando compuesto . Y según bash manual [[es uno de los operadores que se pueden utilizar en la construcción de un comando compuesto. Por lo tanto, su función _has_string()puede implementarse así:

$ _has_string()[[ "$1" = "string" ]]
$ if _has_string "string"; then echo "YES"; fi
YES

Por supuesto, esto no es portátil de ninguna manera, debido al operador [[. Pero podemos hacer uso de ( )o {}.Así es, por ejemplo, cómo funciona esto en/bin/dash:

$ _has_string()( [ "$1" = "string" ]; )
$ if _has_string "string"; then echo "YES"; fi
YES
$ if _has_string "nope" ; then echo "YES"; fi                             
$ 

1
28.06.2019, 16:37
1 ответ

Вы можете добавить службу, которой хотите управлять от обычного пользователя, в файл sudoers:

Добавление общих объявлений в sudoers:

https://www.atrixnet.com/allow-an-unprivileged-user-to-run-a-certain-command-with-sudo/

пример команды:

<your-user> ALL=(ALL) NOPASSWD: /usr/bin/systemctl start program.service
1
27.01.2020, 23:41

Теги

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