x

Давайте мы вам перезвоним!

Оставьте свой номер и мы перезвоним в течении нескольких минут

ФИО

Номер телефона

В какое время вам перезвонить ?

👁174
16.10.2019

50 оттенков sudo

То, как вы вызываете команду sudo, определяет, какие переменные окружения у вас есть, и какой профиль используется. Давайте выясним, что есть что.

Если вы администратор Linux, скорее всего, вы используете sudo ежедневно. Почему? Потому что это лучший способ безопасного запуска задач администратора без фактического выхода из системы и входа в систему как пользователь root.

Хотя вы, вероятно, использовали sudo в течение длительного времени, вы можете не знать о различных «оттенках» sudo. Что имеется в виду под этим? Просто - вы можете вызывать sudo с различными типами оболочек, каждая из которых может использоваться для определенных ситуаций.

keyboard-dark-room-close-up-button-enter_37282-85.jpg


Каковы разные способы использования sudo? 


Команда sudo su вызывает bash с интерактивной оболочкой без авторизации. В этом случае bash выполняет только .bashrc, и у вас нет переменных среды пользователя root. Команда sudo su - вызывает фактическую оболочку входа в систему, поэтому выполняются / etc / profile, .profile и .bashrc.

После применения Вы окажетесь в корневом домашнем каталоге с установленными переменными среды root. Команда sudo -i почти такая же, как sudo su, только она запускает оболочку, указанную в записи базы данных паролей целевого пользователя, в качестве оболочки входа в систему. Это означает, что специфичные для входа файлы ресурсов, такие как .profile, .bashrc или .login, будут прочитаны и выполнены оболочкой.

Команда sudo / bin / bash использует оболочку без регистрации, поэтому все точечные файлы не выполняются. Тем не менее, bash читает .bashrc вызывающего пользователя, и ваши переменные среды остаются неизменными.

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