LINUX.ORG.RU
решено ФорумAdmin

без sudo.

 ,


0

2

Как запустить комманду от пользователя(не root), не используя sudo. Если не использовать sudo, то прийдется использовать su? а у в него можно ввести пароль автоматически или через скрипт ? я попробовал примеры из интернета, у меня не получилось. Вопрос для меня решенный, использую sudo и все, но интересно как по другому.

в sudo можно ввести пароль через stdin - смотри man

основной метод флаг setuid setgid на исполняемый файл и прописывание необходимых owner/group.
все остальное - вторично.

pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 1)

Без sudo можно через su или doas. Может есть ещё какие аналоги, но вряд ли (да и суть всё равно одна). Ну или как выше написали. Больше никак, вроде.

CrX ★★★
()
Последнее исправление: CrX (всего исправлений: 1)
Ответ на: комментарий от nionio35

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

вариант два: использовать менеджер сервисов системы.

вариант 3: изучать хаккерство и запускать проги через дырки в защите системы %)

очень тыманно описано цель вопроса :)

pfg ★★★★★
()
Ответ на: комментарий от Minona

Немного закручено выразился. Просто чтобы была увереность что все сделал правильно и альтернатив нету какбы. su - нужно вводить пароль руками, sudo - настроил /etc/sudoers, и можно ниче не вводить.

nionio35
() автор топика

никак, что-то из этого в любом случае надо использовать.

Либо настраиваешь suid bit, либо sudo -S и читаешь пароль из инпута. Есть еще doas, но он тут не поможет

Lrrr ★★★★★
()
Ответ на: комментарий от nionio35

Не используя suid - не получится никак. Потому что и sudo и su получают права тоже через suid.

А автоматический ввод пароля дискредитирует всю систему безопасности, на нём основанную.

firkax ★★★★★
()
Ответ на: комментарий от pfg

вариант 3: изучать хаккерство и запускать проги через дырки в защите системы

Туманный вариант, дырки появляются их латают и т.д. проще пропатчить ведро выкинув лишний код на тему прав, что бы так сказать «все были правы» :)

anc ★★★★★
()

ну полкит же…

[avl@hp ~]$ tail -f /var/log/messages
tail: невозможно открыть «/var/log/messages» для чтения: Отказано в доступе
tail: больше нет файлов
[avl@hp ~]$ pkexec --user root tail -f /var/log/messages
Oct 16 01:30:51 hp dbus[1046]: [system] Activating via systemd: service name='org.freedesktop.nm_dispatcher' unit='dbus-org.freedesktop.nm-dispatcher.service'

Oct 16 01:40:01 hp systemd: Created slice User Slice of root.
Oct 16 01:40:01 hp systemd: Started Session 1970 of user root.
Oct 16 01:40:01 hp systemd: Removed slice User Slice of root.
AVL2 ★★★★★
()
Последнее исправление: AVL2 (всего исправлений: 2)
Ответ на: комментарий от Im_not_a_robot

Да. Я так и написал в самом начале, что для меня вопрос решеный. Можно уже вопрос закрывать. Вот, polkit еще выпилил из системы, он оказывается вообще ненужен.

nionio35
() автор топика
Ответ на: комментарий от nionio35

Можно подумать у sudo или su suid не стоит

[avl@hp ~]$ ls -l /bin/sudo
---s--x--x 1 root root 147392 окт 31  2018 /bin/sudo
[avl@hp ~]$ ls -l /bin/su
-rwsr-xr-x 1 root root 32128 фев  2  2021 /bin/su
ls -l /bin/pkexec 
-rwsr-xr-x 1 root root 23656 мар  8  2019 /bin/pkexec

AVL2 ★★★★★
()