Что такое Sudo в Linux и как его использовать
Рассмотрим вышеприведенный комикс из отличного веб-комикса XKCD. Ленивый парень в кресле хочет, чтобы их друг сделал им бутерброд, но у него нет полномочий заставить их сделать это. То есть до тех пор, пока он не вызовет мощную команду sudo. После чего так или иначе будет приготовлен бутерброд.
Хотя попытка sudo на человеке в реальной жизни, вероятно, не будет столь же эффективной, это волшебная команда, которая преодолевает все препятствия в мире Linux. Что такое sudo? Почему он вообще существует? Ответ заключается в том, как Linux обрабатывает разрешения.
Этот мультфильм Creative Commons с указанием авторства — некоммерческий, автор XKCD
Понимание разрешений пользователей Linux
Linux считается безопасной операционной системой из-за того, как она обрабатывает разрешения. Хотя операционные системы, такие как macOS (у которой был общий предок с Linux) и Windows, теперь больше похожи на Linux в этом отношении, операционная система с открытым исходным кодом все еще в некоторой степени уникальна.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
Понимание того, как Linux обрабатывает разрешения, значительно упрощает понимание команды sudo. Все современные операционные системы имеют уровень прав доступа «администратор» или «root». Если у вас есть учетная запись администратора или root, вы можете изменить любые настройки, удалить любые данные и вообще делать с компьютером все, что захотите.
Это включает в себя вещи, которые вам, вероятно, не следует делать, которые могут привести к потере данных или необходимости полной очистки и переустановки.
Linux не делает разрешения на уровне пользователя root по умолчанию. Вместо этого ваша учетная запись не может получить доступ к действительно важным частям системы без повышения уровня ваших разрешений. Это означает, что система попросит вас ввести пароль администратора, если вы захотите сделать что-то необычное с использованием графического интерфейса.
Однако, если вы хотите использовать командную строку терминала для выполнения задач, sudo — самый безопасный и эффективный способ сделать это.
Судо и Терминал
Есть два способа предоставить себе повышенные права в Linux. Один из них — постоянно входить в систему как пользователь root. Проблема в том, что любой, кто может получить доступ к компьютеру, может нанести ущерб, и даже вы можете сделать это случайно. Sudo повышает ваши разрешения только на короткое время для выполнения определенных команд, которые следуют за ним.
Судо синтаксис
Синтаксис Sudo (формат команды) прост. Просто введите «sudo», а затем команду, которую вы хотите выполнить.
Например, «sudo apt-get update» обновит все репозитории приложений, перечисленные в соответствующем файле. Если вы попытаетесь запустить его без sudo, вы получите сообщение об ошибке о том, что у вас нет разрешения. Кстати, это, как правило, первая команда sudo, которую вы захотите запустить после новой установки вашего любимого дистрибутива Linux.
«Су» в судо
«Su» в sudo — это сокращение от «superuser», и это отдельная команда. Команда «su» позволяет вам изменить привилегии пользователя, до которых вас повышает sudo.
Хотя sudo временно повышает вас до root, su изменяет вас на другого пользователя с соответствующими привилегиями. Это может показаться несущественным различием, но есть веские причины изменить учетную запись, до которой sudo повышает уровень пользователя.
Прежде всего, смена учетной записи означает, что обычные пользователи не знают пароль root. Во-вторых, есть журнал всех команд sudo, что означает, что системный администратор (root) может узнать, кто выполнил команды su.
Синтаксис su по сути такой же, как sudo:
Su ИМЯ ПОЛЬЗОВАТЕЛЯ -c КОМАНДА
Замените USERNAME на нужного пользователя для запуска команды, а COMMAND — на команду Linux, которую вы хотите выполнить.
Если вы хотите запустить несколько команд от имени другого пользователя, просто используйте:
Su ПОЛЬЗОВАТЕЛЬ
Замените USER желаемым идентификатором учетной записи пользователя.
Если вы используете su отдельно, Linux переключится на другую учетную запись пользователя, пока вы не воспользуетесь командой «exit». Важно помнить, что этот или следующий пользователь, который получит доступ к терминалу в этом сеансе, по-прежнему будет иметь повышенные разрешения. Вот почему обычно лучше использовать sudo, чем su.
Ограничение по времени Судо
При первом использовании команды sudo вам нужно будет ввести пароль. Затем этот пароль будет действителен в течение 15 минут. Вы можете изменить это значение по умолчанию, запустив команду sudo visudo и изменив «timestamp_timeout =» на более длинное или меньшее значение. Однако мы не рекомендуем делать это, если у вас нет веской причины продлить или сократить срок действия пароля sudo.
Переключатели Sudo Option
Хотя синтаксис sudo прост, стоит знать о некоторых переключателях. Эти команды открывают дополнительную информацию или помогают управлять сеансом sudo:
- -h показывает синтаксис и информацию о командах для sudo.
- -V отображает текущую версию sudo на вашем компьютере.
- -v обновляет ограничение времени sudo, перезагружая часы.
- -l перечисляет права пользователя.
- -k немедленно завершает текущий сеанс sudo, удаляя повышенные привилегии.
В sudo встроено гораздо больше опций, и вы можете увидеть их все, используя первый переключатель -h, указанный выше.
На приведенном выше снимке экрана показаны результаты, когда вы используете опцию справки.
Полезные команды Sudo
Итак, какие команды, поддерживаемые sudo, должен знать каждый пользователь Linux? Мы уже рассмотрели sudo apt-get update, но также обратите внимание на это:
- Sudo apt-get upgrade обновит все установленные пакеты.
- Sudo apt-get install <имя-пакета> устанавливает программное обеспечение по вашему выбору; просто измените имя пакета на то, которое вы хотите установить.
- Если вы не знаете имя пакета, используйте dpkg –list.
- Если вы хотите удалить установленный пакет с терминала, используйте sudo apt-get remove <имя-пакета (снова подставляя конкретное имя рассматриваемого пакета).
Скорее всего, это первые команды sudo, которые вам придется использовать, но, как вы узнали выше, любая команда может следовать за sudo, но вы должны использовать только те, для которых требуются более высокие привилегии.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)