Здравствуйте.
Имеется скрипт .sh запускаемый из systemd. Команды внутри скрипта выполняются с правами суперпользователя. Как сделать чтобы отдельные команды выполнялись с правами обычного пользователя?
Спасибо!
Выполнение команд с правам пользователя в скрипте запущенном от рута
Как правильно задавать вопросы Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 1. Для начала воспользуйтесь поиском форума. 2. Укажите версию ОС вместе с разрядностью. Пример: LM 19.3 x64, LM Sarah x32 3. DE. Если вопрос касается двух, то через запятую. (xfce, KDE, cinnamon, mate) 4. Какое железо. (достаточно вывод
inxi -Fxz
в спойлере (как пользоваться спойлером смотрим здесь)) или же дать ссылку на hw-probe 5. Суть. Желательно с выводом консоли, логами. 6. Скрин. Просьба указывать 2, 3 и 4 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот
-
- Сообщения: 4859
- Зарегистрирован: 21 июн 2017, 18:09
- Решено: 111
- Благодарил (а): 53 раза
- Поблагодарили: 2177 раз
- Контактная информация:
Выполнение команд с правам пользователя в скрипте запущенном от рута
Это из другой оперы, и в основном для обратного. (Чтобы обычный юзер мог что-то выполнить с правами root). Но это именно про права как таковые, а не смена текущего пользователя для отдельной команды, что нужно ТС.
-
Автор темы - Сообщения: 185
- Зарегистрирован: 22 ноя 2019, 19:12
- Благодарил (а): 101 раз
- Поблагодарили: 9 раз
- Контактная информация:
-
- Сообщения: 2404
- Зарегистрирован: 11 июн 2017, 21:47
- Решено: 31
- Откуда: BY
- Благодарил (а): 83 раза
- Поблагодарили: 506 раз
- Контактная информация:
Выполнение команд с правам пользователя в скрипте запущенном от рута
А если в /etc/sudoers прописать, что данный скрипт может выполнять пользователь без запроса пароля через
sudo скрипт.sh
? У себя таким образом выходил из положения.-
- Сообщения: 10437
- Зарегистрирован: 27 июн 2017, 13:36
- Решено: 135
- Откуда: Нижний Тагил
- Благодарил (а): 792 раза
- Поблагодарили: 2051 раз
- Контактная информация:
Выполнение команд с правам пользователя в скрипте запущенном от рута
madesta, так все равно будет использоваться
sudo
и фактический запуск будет от суперпользователя-
- Сообщения: 10067
- Зарегистрирован: 27 авг 2016, 22:57
- Решено: 216
- Откуда: НН
- Благодарил (а): 845 раз
- Поблагодарили: 3042 раза
- Контактная информация:
Выполнение команд с правам пользователя в скрипте запущенном от рута
Как всегда есть несколько путей решения:
можно в юните указать запуск от юзера
И тогда отдельные адм команды запускать с
Можно эти же команды требующие доступа в
В обратную сторону можно как уже выше указали использовать
или же через
Все зависит от задачи)
можно в юните указать запуск от юзера
Код: Выделить всё
[Service]
User=юзер
Group=группа
sudo
и разрешать ему это sudo
использоватьМожно эти же команды требующие доступа в
polkit
обернутьВ обратную сторону можно как уже выше указали использовать
runuser
или же через
sudo -i -u юзер команда
, в случае запуска от рута - также выполнит ничего не спрашивая.Все зависит от задачи)
-
Автор темы - Сообщения: 185
- Зарегистрирован: 22 ноя 2019, 19:12
- Благодарил (а): 101 раз
- Поблагодарили: 9 раз
- Контактная информация:
Выполнение команд с правам пользователя в скрипте запущенном от рута
Столкнулся с тем, что вывод текста на экран не работает. Когда выполняешь команду в консоле пользователя - всё ок, но когда скрипт выполняется из systemd, никакое изображение не выводится.
Команда такая: zenity --info --text="Текстовый текст"
runuser -l user -c zenity --info --text="Текстовый текст" в этом случае не работает
Команда такая: zenity --info --text="Текстовый текст"
runuser -l user -c zenity --info --text="Текстовый текст" в этом случае не работает
-
- Сообщения: 10067
- Зарегистрирован: 27 авг 2016, 22:57
- Решено: 216
- Откуда: НН
- Благодарил (а): 845 раз
- Поблагодарили: 3042 раза
- Контактная информация:
Выполнение команд с правам пользователя в скрипте запущенном от рута
ogankvik, это отдельная особенность, иксы то у тебя с сессией запущены не там где выполняется zenity и сам скрипт в целом.
Вывод надо направить в иксовую сессию
Вывод надо направить в иксовую сессию
-
Автор темы - Сообщения: 185
- Зарегистрирован: 22 ноя 2019, 19:12
- Благодарил (а): 101 раз
- Поблагодарили: 9 раз
- Контактная информация:
Выполнение команд с правам пользователя в скрипте запущенном от рута
Как это сделать? Не смог сформулировать запрос так, чтобы гугл выдал информацию

-
- Сообщения: 10067
- Зарегистрирован: 27 авг 2016, 22:57
- Решено: 216
- Откуда: НН
- Благодарил (а): 845 раз
- Поблагодарили: 3042 раза
- Контактная информация:
Выполнение команд с правам пользователя в скрипте запущенном от рута
Попробуй указать перед командой
Или в environment юниту который стартует скрипт
export DISPLAY=:0.0
Или в environment юниту который стартует скрипт
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость