как разместить текст в командной строке

Вы используете оболочку, а не конвейер. Обертки будут нести свои разрешения с собой.

В данном случае из соображений безопасности используйте

sudo watch dmesg

вместо

watch sudo dmesg

, чтобы активировать аутентификацию sudoтолько один раз. В противном случае он будет постоянно обновлять вашу аутентификацию, так как sudoзапускается каждую секунду. Если вы затем отойдете, и кто-то подойдет и ^Cвыполнит вашу команду, он сможет немедленно sudoчто-то еще, независимо от того, сколько времени прошло с тех пор, как вы нажали Enter для этой команды.

В общем, каждая команда, которой требуется повышение прав, требуетsudo:

sudo command1 | sudo command2

В случае с оболочкой повышение уровня процесса приведет к повышению прав любых новых процессов, порожденных этим процессом. Единственным исключением являются вещи, которые автоматически запускаются от имени другого пользователя без полномочий root. Например, сервисы, которые работают под своим пользователем.

Если у вас есть несколько команд, которые передаются друг другу, и все они требуют повышения прав, обычно их можно увидеть в оболочке bash sub -с повышенными правами:

sudo bash -c "command1 | command2"
0
19.11.2021, 20:55
0 ответов

Теги

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