Зачем нужен sudo bash?

Зачем нужен sudo bash?

Я читал следующий код:

$ sudo bash
# cd /home/
# ./gitpull.sh

Зачем мне нужна первая строка, что она делает? А что если я просто сделаю $ sudoвместо $ sudo bash?

решение1

Он запускает bash shell как rootпользователь уровня. Он вам нужен, потому что обычно обычные пользователи не могут получить доступ/home/

Опасность того, что вы делаете, заключается в том, что вы находитесь в оболочке root — вы можете довольно легко испортить свою машину.

решение2

Гораздо лучше будет сделать следующее:

$ sudo sh -c 'cd /home; ./gitpull.sh'

Потому что команды, вызванные как root, будут регистрироваться. Вызов оболочки напрямую через sudo исключает все преимущества безопасности sudo и его следует избегать.

решение3

sudo <shell>Если это сработает, это выдаст неправильную установку sudo и потенциальную уязвимость безопасности.

sudoне следует настраивать для разрешения произвольных команд, таких как shell; цель sudo— разрешить аутентифицированным не-root-пользователям запускать определенные команды как root, не зная пароля root.

Если sudo bashэто разрешено любому пользователю, то этот пользователь является пользователем root просто в силу знания своего пароля.

Если злоумышленник получит пароль любой из учетных записей, которые могут сделать sudo bash, то он, таким образом, получит права root.

Правильный способ сделать то же самое sudo bash(получить root shell) — это suввести пароль root, а не свой собственный.

решение4

sudoпозволяет пользователям запускать программы с привилегиями безопасности другого пользователя (обычно суперпользователя или root).
bashзапускает новую оболочку bash.
Итак, sudo bashзапускает новую оболочку bash с привилегиями безопасности пользователя root.

Связанный контент