Одним из самых важных моментов при изучении любой системы является то, как получить права суперпользователя. Как делать то, что не могут обычные смертные? Как раз для этого и существует команда sudo. С помощью нее вы можете делать в системе все что угодно – запускать любые приложения, читать любые файлы и т.д. Но для этого у вас должны быть права на пользование этой командой.
Существует два способа добавления пользователя в sudoers. Рассмотрим первый, наиболее популярный. А именно, с помощью sudoers файла, который находится по адресу /etc/sudoers.
1. Войдите под рутом. Введите команду su и пароль рута:
su -
2. Откройте на редактирование sudoers файл (я использую vi, вы можете любой другой редактор):
vi /etc/sudoers
3. Добавьте строчку, которая выделена жирным, заменив sergey на имя вашего пользователя:
root ALL=(ALL:ALL) ALL sergey ALL=(ALL:ALL) ALL
4. Сохрание sudoers файл, выйдите из-под рута.
Теперь вы можете использовать команду sudo, например:
sudo vi /etc/sudoers
Далее введя пароль своего пользователя, вы открываете файл как бы из под рута, т.е. на выполнение этой команды вам дают супер привилегии.
Теперь давайте рассмотрим различные полезные функции команды sudo.
Заставить sudo спрашивать пароль каждый раз
По умолчанию, при запуске sudo ваш пароль запоминается на 15 минут. И если в течение этого времени вы вводите sudo еще раз, то пароль не спрашивается. Но иногда бывает полезно отключать эту функцию. Например, вы запускаете какую-то команду для друга и хотите чтобы сразу после этого sudo забыл введенный пароль. Для этого используйте параметр -k:
sudo -k vi /etc/sudoers
Полностью отключить запоминание пароля
Для этого вы можете открыть /etc/sudoers и добавить туда параметр timestamp_timeout=0:
Defaults env_reset Defaults mail_badpass Defaults timestamp_timeout=0
Также вы можете менять время запоминания пароля sudo, указывая timestamp_timeout, например timestamp_timeout=5, что соответствует 5 минутам.
Никогда не спрашивать пароль sudo
Для этого откройте файл /etc/sudoers и измените строчку для нужного пользователя, добавив параметр NOPASSWD:
sergey ALL=(ALL:ALL) NOPASSWD:ALL
Теперь при вводе команды sudo пользователем sergey пароль не будет спрашиваться никогда.
Разрешить только определенные команды sudo
Для этого откройте sudoers файл и измените строчку для конкретного пользователя, перечисляя через запятую команды, которые он может запускать:
sergey ALL=/usr/bin/vi,/usr/bin/apt-get
Еще один способ получения прав на запуск sudo
В начале статьи я написал, что существует два способа добавления пользователя в sudoers. Первый мы уже рассмотрели – это редактирование sudoers файла и добавления туда строчек для разных пользователей. Второй способ – вы можете просто добавить вашего пользователя в группу sudo, для этого вам понадобятся права рута:
usermod -a -G sudo sergey
Однако, “групповые” изменения вступят в силу только после перезагрузки, либо после повторного входа в систему.
В заключение, для закрепления материала предлагаю посмотреть данное видео.