Я пытаюсь понять следующую разницу, которую я наблюдал при выполнении команд с использованием sudo и su. Я упростил его до самой простой формы.
Рассмотрим следующие две команды:
su - myuser -c "спать 600s &"
sudo -u мой пользователь спать 600s &
При рассмотрении с пс аксу | grep судо
, команда su запускает один процесс только для пользователя myuser. Тем временем команда sudo порождает два процесса: один как root с командой sudo -u мой пользователь спать 600s &
и один как myuser с командой спать 60-х
Это после запуска другой команды в течение льготного периода sudo, я думаю, 5-15 минут, когда пароль снова не требуется. (В противном случае задание будет немедленно приостановлено - это просто означает, что с приостановленными заданиями дело обстоит иначе.)
Итак, мои вопросы:
- Могу ли я заставить sudo возвращаться немедленно («вести себя» как su), чтобы никакой дополнительный процесс, поскольку root не продолжал зависать и потенциально потреблять некоторую память (каким бы малым ни был этот объем)? Или это задумано, и первый процесс под учетной записью root просто должен оставаться там до тех пор, пока не будет выполнена фактическая выполняемая команда?
- Вызов su таким образом похож на вызов sudo с опциями -l/-s/-i?
Спасибо.
krzysztof@Алан: ~$ ¶ uname -a
Linux Alan.local 5.4.0-86-generic #97-Ubuntu SMP Пт, 17 сентября, 19:19:40 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
krzysztof@Alan: ~$ ¶ lsb_release -a
Нет доступных модулей LSB.
Идентификатор дистрибьютора: Ubuntu
Описание: Ubuntu 20.04.3 LTS
Релиз: 20.04
Кодовое название: фокальный