- ИТ База знаний
- Полезно
- Навигация
- Серверные решения
- Телефония
- Корпоративные сети
- Как использовать команду sudo в Linux
- Как использовать команду sudo
- Установка sudo
- Синтаксис
- Опции
- Предоставление привилегий sudo
- RedHat и CentOS
- Debian и Ubuntu
- Использование visudo и группы sudoers
- Тайм-аут пароля sudo
- Примеры sudo в Linux
- Основное использование Sudo
- Выполнить команду от имени другого пользователя
- Переключиться на root пользователя
- Выполнить предыдущие команды с помощью sudo
- Запуск нескольких команд в одной строке
- Добавить строку текста в существующий файл
- Заключение
- Полезно?
- Почему?
- Ubuntu Documentation
- Заметки
- Разрешение другим пользователям использовать sudo
- Преимущества использования sudo
- Минусы использования sudo
- Заблуждения
- Возврат к традиционной учетной записи root
- Drag & Drop Sudo
ИТ База знаний
Курс по Asterisk
Полезно
— Узнать IP — адрес компьютера в интернете
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Калькулятор инсталляции IP — АТС Asterisk
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Как использовать команду sudo в Linux
Sudo означает SuperUser DO и используется для доступа к файлам и операциям с ограниченным доступом. По умолчанию Linux ограничивает доступ к определенным частям системы, предотвращая компрометацию конфиденциальных файлов.
Мини — курс по виртуализации
Знакомство с VMware vSphere 7 и технологией виртуализации в авторском мини — курсе от Михаила Якобсена
Команда sudo временно повышает привилегии, позволяя пользователям выполнять конфиденциальные задачи без входа в систему как пользователь root . В этом руководстве вы узнаете, как использовать команду sudo в Linux с примерами.
Как использовать команду sudo
Установка sudo
Пакет sudo установлен в большинстве дистрибутивов Linux.
Чтобы проверить есть ли у вас эта комманда введите sudo . Вы увидите справочное сообщение или сообщение о том что комнада не найдена.
Чтобы установить sudo используйте для Ubuntu и Debian:
или для CentOS и Fedora
sudo была разработана как способ временного предоставления пользователю административных прав. Чтобы заставить ее работать, используйте sudo перед ограниченной командой, которую можно выполнить только из под рута. Тогда система запросит ваш пароль. После его ввода система запускает команду.
Синтаксис
Опции
sudo можно использовать с дополнительными параметрами:
- -h — отображает синтаксис и параметры команды
- -V — отображает текущую версию приложения sudo
- -v — обновить лимит времени на sudo без запуска команды
- -l — перечисляет права пользователя или проверяет конкретную команду
- -к — завершить текущие привилегии sudo
Дополнительные параметры можно найти с помощью ключа -h .
Примечание. Оставаться в системе как администратор ставит под угрозу безопасность сервера. Раньше администраторы использовали su (substitute user) для временного переключения на учетную запись администратора. Однако для команды su требуется вторая учетная запись пользователя и пароль, что не всегда возможно.
Когда используется команда sudo , в системные журналы заносится метка времени. Пользователь может запускать команды с повышенными привилегиями в течение короткого времени (по умолчанию 15 минут). Если пользователь, не принадлежащий к sudo группе, пытается использовать команду sudo , это регистрируется как событие безопасности.
Предоставление привилегий sudo
Для большинства современных дистрибутивов Linux пользователь должен входить в группу sudo, sudoers или wheel, чтобы использовать команду sudo . По умолчанию однопользовательская система предоставляет своему пользователю права sudo . Система или сервер с несколькими учетными записями пользователей могут исключать некоторых пользователей из привилегий sudo .
Рассмотрим как добавить пользователя в эту группу.
RedHat и CentOS
В Redhat и CentOS wheel группа контролирует пользователей sudo . Добавьте пользователя в группу wheel с помощью следующей команды:
Замените [username] фактическим именем пользователя. Возможно, вам потребуется войти в систему как администратор или использовать команду su .
Debian и Ubuntu
В Debian и Ubuntu группа sudo (sudo group) контролирует пользователей sudo . Добавьте пользователя в группу sudo с помощью следующей команды:
Использование visudo и группы sudoers
В некоторых современных версиях Linux пользователи добавляются в файл sudoers для предоставления привилегий. Это делается с помощью команды visudo .
Используйте команду visudo для редактирования файла конфигурации:
Это откроет /etc/sudoers для редактирования. Чтобы добавить пользователя и предоставить полные права sudo , добавьте следующую строку:
Сохраните и выйдите из файла.
Вот разбивка предоставленных привилегий sudo :
Примечание. Проще добавить пользователя в группу sudo или wheel, чтобы предоставить права sudo . Если вам нужно отредактировать файл конфигурации, делайте это только с помощью visudo . Приложение visudo предотвращает сбои, ошибки и неправильные настройки, которые могут нарушить работу вашей операционной системы.
Тайм-аут пароля sudo
По умолчанию sudo просит вас ввести пароль после нескольких минут бездействия. Изменить это время ожидания по умолчанию, можно отредактировав файл sudoers с помощью visudo и измените время ожидания, добавив строку как в примере, где 10 — это время ожидания, указанное в минутах:
Если вы хотите изменить время ожидания для определенного пользователя, то добавьте имя пользователя.
Примеры sudo в Linux
Основное использование Sudo
1. Откройте окно терминала и попробуйте выполнить следующую команду:
2. Вы должны увидеть сообщение об ошибке. У вас нет необходимых разрешений для запуска команды.
3. Попробуйте ту же команду с sudo:
4. При появлении запроса введите свой пароль. Система выполнит команду и обновит репозитории.
Выполнить команду от имени другого пользователя
1. Чтобы запустить команду от имени другого пользователя, введите в терминале следующую команду:
2. Система должна отображать ваше имя пользователя. Затем выполните следующую команду:
3. Введите пароль для другого пользователя, и команда whoami запустится и отобразит другого пользователя.
Переключиться на root пользователя
Эта команда переключает вашу командную строку на оболочку BASH от имени пользователя root :
Ваша командная строка должна измениться на:
Значение имени хоста будет сетевым именем этой системы. Имя пользователя будет текущим именем пользователя, вошедшим в систему.
Выполнить предыдущие команды с помощью sudo
В командной строке Linux хранятся записи о ранее выполненных командах. Доступ к этим записям можно получить, нажав стрелку вверх. Чтобы повторить последнюю команду с повышенными привилегиями, используйте:
Это также работает со старыми командами. Укажите исторический номер следующим образом:
В этом примере повторяется 6-я запись в истории с командой sudo.
Запуск нескольких команд в одной строке
Соедините несколько команд вместе, разделенных точкой с запятой:
Добавить строку текста в существующий файл
Добавление строки текста в файл часто используется для добавления имени репозитория программного обеспечения к исходному файлу без открытия файла для редактирования. Используйте следующий синтаксис с командами echo , sudo и tee :
Заключение
Теперь вы узнали про команду sudo и про то, как ее использовать.
Мини — курс по виртуализации
Знакомство с VMware vSphere 7 и технологией виртуализации в авторском мини — курсе от Михаила Якобсена
Полезно?
Почему?
😪 Мы тщательно прорабатываем каждый фидбек и отвечаем по итогам анализа. Напишите, пожалуйста, как мы сможем улучшить эту статью.
😍 Полезные IT – статьи от экспертов раз в неделю у вас в почте. Укажите свою дату рождения и мы не забудем поздравить вас.
Источник
Ubuntu Documentation
Содержание
В Linux (да и в Unix вообще) суперпользователь (root user) имеет доступ ко всему. Это аналог пользователя Администратор в Windows. Как бы вы ни настроили свою учетную запись, вы все равно не сможете заблокировать доступ суперпользователя к каким-либо ресурсам компьютера. Кроме того, суперпользователь имеет доступ ко всем командам операционной системы и всем ее устройствам. Многие начинающие пользователи активно используют учетную запись root, поскольку это очень удобно. Тем не менее существуют причины, по которым учетную запись суперпользователя не следует применять для повседневной работы.
- Доступ такого уровня к ресурсам компьютера необходим далеко не всегда.
- Доступ на уровне суперпользователя— это, скорее, большая ответственность, нежели благодать. При обычном доступе вы работаете только с ресурсами своей учетной записи. Если же вы находитесь в системе в качестве суперпользователя, вы можете случайно сделать ошибку и удалить все — да-да, все файлы всей системы Linux!
Думаете, с вами такого не случится? Даже опытные администраторы Linux рассказывают жуткие истории о том дне, когда они сделали роковую опечатку или не задумывались над тем, что они делают, работая под именем суперпользователя.
По умолчанию учетная запись суперпользователя отключена в Ubuntu. Это означает, что вы не сможете зайти в систему как root. Однако, инсталлятор настраивает sudo для пользователя, созданного во время установки. Команда sudo позволяет выполнять все приложения, требующие привилегий суперпользователя.
Когда sudo спрашивает пароль, вы должны ввести пароль ВАШЕГО пользователя ! То есть пароль root’a вам не нужен !
Заметки
- Пароль сохраняется по умолчанию на 15 минут. По истечении этого времени, вам нужно будет ввести пароль снова.
- Несмотря на то, что при вводе пароль не отображается на экране (даже в виде звездочек), он все-равно вводится!
Для выполнения графических конфигурационных утилит с sudo, просто запустите приложение через меню.
Для запуска программ через sudo, которые обычно запускаются под обычным пользователем (например gedit), нажмите Alt+F2 и введите gksudo gedit. В Kubuntu используйте вместо gksudo программу kdesu.
Использование sudo в командной строке:
Пример #1 — смена пользователя и группы для файлов в домашней папке пользователя
Пример #2 — перезапуск сетевых служб
Для запуска графических программ используйте gksudo или kdesu, иначе попытка входа может провалиться. Если это происходит и при входе вылазит ошибка: «Unable to read ICE authority file», войдите в безопасный терминал и выполните следующую команду, подставив своё имя пользователя:
Для запуска режима суперпользователя в терминале (root shell, т.е. командная строка, где вы можете выполнять команды под пользователем root), запустите терминал и выполните команду:
- Для запуска режима суперпользователя, оставив текущие переменные окружения, введите:
- Вход под другим пользователем (для графического входа, используйте что-то типа gdmflexiserver):
Разрешение другим пользователям использовать sudo
Чтобы разрешить пользователю использовать sudo, откройте Система → Администрирование → Пользователи и группы. Затем выберите пользователя и нажмите на кнопке Свойства. В появившемся окне зайдите на вкладку Привилегии пользователя и поставьте галочку Администрировать систему.
Аналог этой же процедуры в терминале: sudo adduser $user admin, где $user — имя пользователя.
Преимущества использования sudo
Причины, по которым пользователь root отключен по умолчанию, заключаются в следующем:
- Программа установки задаёт меньше вопросов.
- Пользователям не нужно запоминать дополнительный пароль, который они могут забыть.
- Перед тем как произойдёт выполнение команды, вас попросят ввести пароль. Это даст время подумать о возможных последствиях.
sudo добавляет в лог выполненные команды (/var/log/auth.log).
Все попытки взломщиков, пытающихся подобрать пароль к root, будут обречены на провал.
Минусы использования sudo
Хотя выгода для использования sudo на персональных компьютерах велика, есть некоторые моменты, которые надо отметить:
Redirecting the output of commands run with sudo can catch new users out. For instance consider sudo ls > /root/somefile will not work since it is the shell that tries to write to that file. You can use ls | sudo tee -a /root/somefile to append, or ls | sudo tee /root/somefile to overwrite contents. You could also pass the whole command to a shell process run under sudo to have the file written to with root permissions, such as sudo bash -c «ls > /root/somefile».
Заблуждения
Разве sudo не менее безопасно, чет su?
Основая модель безопасности одинакова в обоих случаях, поэтому и уязвимость будет одинаковой. Любой пользователь, использующий su или sudo рассматривается как привилегированный пользователь. If that user’s account is compromised attby an attacker, the attacker can also gain root privileges the next time the user does so. The user account is the weak link in this chain, and so must be protected with the same care as root.
On a more esoteric level, sudo provides some features which encourage different work habits, which can positively impact the security of the system. sudo is commonly used to execute only a single command, while su is generally used to open a shell and execute multiple commands. The sudo approach reduces the likelihood of a root shell being left open indefinitely, and encourages the user to minimize their use of root privileges.
Я не буду иметь возможность загрузиться в однопользовательском режиме! Программа sulogin в Ubuntu изменена для того чтобы можно было войти в однопользовательский режим, даже если пользователь root отключен.
Я могу получить права администратора из консоли без ввода пароля!
- Вам потребуется ввести пароль для этого.
Console users have access to the boot loader, and can gain administrative privileges in various ways during the boot process. For example, by specifying an alternate init(8) program. Linux systems are not typically configured to be secure at the console, and additional steps (for example, setting a root password, a boot loader password and a BIOS password) are necessary in order to make them so. Note that console users usually have physical access to the machine and so can manipulate it in other ways as well.
Возврат к традиционной учетной записи root
» height=»16″ src=»/moin_static198/light/img/icon_cool.png» title=»Info » width=»16″/> Не рекомендуется это делать!
Consider using the below command instead:
Использование этой команды временно откроет консоль с правами root. Активация аккаунта root в Ubuntu не поддерживается из-за ненадобности. Всё, что вам требуется сделать с правами администратора в Ubuntu можно сделать через sudo или gksudo.
Если root включен, и вы хотите отключить его, откройте терминал и введите следующую команду:
Drag & Drop Sudo
Этот трюк взят из форумов.
Создайте кнопку запуска со следующей командой:
Теперь при перетаскивании любого файла на эту кнопку, будет запущено ассоциированное с этим файлом приложение с привилегиями суперпользователя. Это особенно удобно при редактировании конфигурационных файлов.
RootSudoRu (последним исправлял пользователь andreyshel 2010-06-01 09:56:33)
The material on this wiki is available under a free license, see Copyright / License for details
You can contribute to this wiki, see Wiki Guide for details
Источник