Почему я должен `sudo`?


12

Я выполнил несколько руководств по моему RPi, и многие команды начинаются с sudo; что это значит и что это делает?



7
Это отличный вопрос, я могу себе представить, что многие новички хотят получить информацию об этом.
berry120

@ berry120 да, но это было бы более подходящим для Unix / Linux SE, потому что люди запускали свои Pi и на других ОС (я смотрю на тебя, ОС RISC!)
evamvid

Whaaaat? Летний вопрос! сделать это 2 года!
evamvid

@evamvid Это был один из первых примеров вопросов по RPi.SE ...
Алекс Чемберлен

Ответы:


21

sudoобозначает Super User Do; он позволяет вам работать от имени другого пользователя, обычно суперпользователя ( root), для выполнения административных задач, таких как обновление программного обеспечения, изменение файловых систем и запуск демонов.

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

Вы должны всегда понимать, что делает команда, прежде чем запускать ее.

Почему у нас есть sudo?

Из соображений безопасности обычные пользователи не могут делать все. Это предотвращает случайные действия и предотвращает повреждение системы злоумышленниками.

Почему бы нам не войти в систему, rootкогда нам нужны повышенные разрешения?

sudoпозволяет администраторам контролировать, какие команды может запускать каждый пользователь root. Например, ваш администратор может разрешить вам запускать apt-getкак root, но не более того. Кроме того, все команды, запущенные через sudo, регистрируются /var/log/auth.log.

Другие Распределения

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

арочный

Вы можете установить sudoс помощью pacman: запустить pacman -S sudoкак root. Затем вы должны добавить нового пользователя и отключить rootучетную запись.

су

В Arch Linux (и других дистрибутивах, которые его поддерживают), вы можете использовать su(заменить пользователя) команду, чтобы принять идентичность любого другого пользователя (включая root). Это означает, что все ваши будущие команды (в текущем сеансе) будут иметь свои разрешения. Однако вам потребуется их пароль, и команды, которые вы запускаете, не обязательно будут зарегистрированы.

Смотрите также:


1
Считаете ли вы, что информация suможет быть полезна для полного ответа?
Алекс Л

Предложить изменения под заголовком «Другие дистрибутивы»?
Алекс Чемберлен

В дополнение к этому, я склонен писать «sudo bash», как только я загружаю свой пи, чтобы избежать необходимости постоянно вводить sudo. Это позволяет вам запускать все с привилегиями суперпользователя. Это, очевидно, немного опасно, но с помощью RPI вы можете сделать немного плохого.
phalt

1
Это очень плохая привычка!
Алекс Чемберлен

1
@phalt Почему бы тебе не войти в систему как root?
Jivings

2

Вы обычно используете его для выполнения определенной команды от имени пользователя root, а не от текущего пользователя. По соображениям безопасности нормой в мире Linux является то, что ваш основной пользователь имеет ограниченные привилегии, и вы можете переключаться на root, когда вам нужно сделать что-то, для чего у вас нет привилегий (например, установка пакетов).

Root немного похож на администратора в мире Windows - это ваш конечный пользователь, который может делать все, что угодно.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.