172 похожих чатов

Доброго вечера. как закодить выполнение команд под sudo? чтобы можно было использовать

tee, cat, etc, слать им что-то типа EOF, и продолжать слать команды в sh
эксперимент: убийство процесса tee показывает, что такое физически возможно.
но как сделать это из раста без вызова новой команды под sudo? (я уже молчу о получении pid tee, это мега костыль)

10 ответов

10 просмотров
Ярослав-Нестеров Автор вопроса

додмался наконец, можно оч просто. не идеально, но годно

Ярослав-Нестеров Автор вопроса

прога находит vendor id android девайса в lsusb и добавляет о нём инфу в /etc/udev/rules.d/51-android.rules чтобы работало adb upd: и перезапускает udevadm

Ярослав Нестеров
прога находит vendor id android девайса в lsusb и ...

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

Ярослав-Нестеров Автор вопроса
User are dead (Властелин ничего, Лис)
В таком случае нужно избегать использования sudo в...

а второй зачем? можно if non_root { println!("Дай root"); exit(1); } или Command::new("sudo").arg("этот_же_бинарь")

Ярослав Нестеров
а второй зачем? можно if non_root { println!("Дай ...

Для разграничения пакетов. В целом можно обойтись и без него.

Не стоит вызывать судо. Просто Проверяй, что прав рута нет и вались с ошибкой. Потому что: 1. Судо может просто не быть. Да, такие системы встречаются. И да, это я про линукс. 2. Судо может быть настроен так, что пользователь не будет добавлен в sudoers, а значит не сможет пользоваться этой утилитой. Единственный нормальный и корректный подход, который к тому же проще сделать кросс-платформенным, это вторая своя отдельная утилита, которая выполняет действия с правами рута/администратора, а пользователь пусть сам удобным ему способом повышает права и вызывает её. Ещё можешь посмотреть в сторону polkit (PolicyKit бывший), он вообще и создан для программного повышения прав, но тоже может быть не на каждой системе, плюс не очень прозрачная штука.

Пашечка
Не стоит вызывать судо. Просто Проверяй, что прав ...

если sudo нет значит есть su) а ему уже на sudoerrs всеравно

Денис Котляров
если sudo нет значит есть su) а ему уже на sudoerr...

А ещё есть ограничение прав LDAP, есть мандатное разделение в Астра Линуксе, есть свои механизмы в SELinux. Чо, все варианты в огромном условии перебирать? И su "большие специалисты" могут вырезать. И аналоги su/sudo люди периодически пишут, их тоже все проверять будем?

Ярослав Нестеров
screenshot додмался наконец, можно оч просто. не идеально, но...

пожксперементируй мб с set-user-id https://www.linux.com/training-tutorials/what-suid-and-how-set-suid-linuxunix/

Ярослав-Нестеров Автор вопроса
Пашечка
Не стоит вызывать судо. Просто Проверяй, что прав ...

тулза только под линух, потому что решает только линуховую проблему. но насчёт присутствия суду всё-таки аргумент. тогда и от tee стоит отказаться

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

Обсуждают сегодня

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
61
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
Продолжая диалог про свифт в проде – сейчас возник вопрос в активном наборе бекендеров. В основном в нашей компании мы фанаты Java Spring и полностью ей довольны. Однако найм ...
Guseyn
27
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
Читаю сейчас [нет, уже больше не читаю!] курсовую о Булгакове, написанную, похоже, с помощью ChatGPT. Это удивительный психоделический опыт. Текст в основном написан в стиле б...
✨ Uni [🌊 В отпуске]
1
Всем привет! поделитесь, пож-та, как кто дебажил / решал проблему с 504 Time out ошибкой от nginx, когда стучишься на свой vapor сервер? в логах /var/log/nginx/error.log е...
Paul
24
Привет всем. Не знаю, удачный ли чатик я выбрал для вопроса, но он как будто в целом про концепцию фп и конкретно про Haskell. Прочитал, что в целом в мире фп нет идеи мутабел...
Gellert Cringewald
15
Как добавить ссылку в Быстрый доступ в Проводнике windows 10? Нашёл, как на power shell сделать, но может есть способ через Дельфи?
А
31
@helgispbru @Dreamer_0x01 @Pathologic93 @webber_12 Не уверен, что вам всем это жутко интересно, но в продолжение недавнего диалога отправлю свои наброски. Хочу понять, правил...
Андрей [aharito] Харитонов
13
Карта сайта