Как и большинство вещей в Linux, команда sudo очень настраиваема. Вы можете заставить sudo запускать определенные команды без запроса пароля, ограничивать определенных пользователей только утвержденными командами, регистрировать команды, выполняемые с sudo, и многое другое.
Поведение команды sudo контролируется файлом / etc / sudoers в вашей системе. Эту команду необходимо редактировать с помощью команды visudo, которая выполняет проверку синтаксиса, чтобы убедиться, что вы случайно не повредите файл.
Укажите пользователей с разрешениями Sudo
Учетная запись пользователя, которую вы создаете при установке Ubuntu, помечается как учетная запись администратора, что означает, что она может использовать sudo. Любые дополнительные учетные записи пользователей, которые вы создаете после установки, могут быть учетными записями администратора или обычного пользователя - стандартные учетные записи пользователей не имеют разрешений sudo.
Вы можете управлять типами учетных записей пользователей графически с помощью инструмента «Учетные записи пользователей» Ubuntu. Чтобы открыть его, щелкните свое имя пользователя на панели и выберите «Учетные записи пользователей» или найдите «Учетные записи пользователей» на панели инструментов.
Заставьте Судо забыть ваш пароль
По умолчанию sudo запоминает ваш пароль в течение 15 минут после его ввода. Вот почему вам нужно ввести пароль только один раз при быстром выполнении нескольких команд с помощью sudo. Если вы собираетесь позволить кому-то другому использовать ваш компьютер и хотите, чтобы sudo запрашивал пароль при следующем запуске, выполните следующую команду, и sudo забудет ваш пароль:
суду –к
Всегда спрашивайте пароль
Если вы предпочитаете получать подсказки при каждом использовании sudo - например, если другие люди регулярно имеют доступ к вашему компьютеру - вы можете полностью отключить запоминание пароля.
Этот параметр, как и другие параметры sudo, содержится в файле / etc / sudoers. Запустите команду visudo в терминале, чтобы открыть файл для редактирования:
sudo visudo
Несмотря на название, эта команда по умолчанию использует удобный для пользователя редактор nano вместо традиционного редактора vi в Ubuntu.
Добавьте следующую строку под другими строками по умолчанию в файле:
По умолчанию timestamp_timeout = 0
Нажмите Ctrl + O, чтобы сохранить файл, а затем нажмите Ctrl + X, чтобы закрыть Nano. Sudo теперь всегда будет запрашивать пароль.
Изменить время ожидания пароля
Чтобы установить другой тайм-аут пароля - более длинный, например, 30 минут, или более короткий, например, 5 минут, - выполните описанные выше действия, но используйте другое значение для timestamp_timeout. Число соответствует количеству минут, в течение которых sudo будет помнить ваш пароль. Чтобы sudo запомнил ваш пароль в течение 5 минут, добавьте следующую строку:
По умолчанию timestamp_timeout = 5
Никогда не спрашивайте пароль
Вы также можете настроить sudo никогда не запрашивать пароль - пока вы вошли в систему, каждая команда с префиксом sudo будет выполняться с правами root. Для этого добавьте в файл sudoers следующую строку, где username - это ваше имя пользователя:
имя пользователя ALL = (ALL) NOPASSWD: ALL
Вы также можете изменить строку% sudo - то есть строку, которая позволяет всем пользователям в группе sudo (также известной как пользователи-администраторы) использовать sudo - чтобы всем пользователям-администраторам не требовались пароли:
% sudo ALL = (ВСЕ: ВСЕ) NOPASSWD: ALL
Запускать определенные команды без пароля
Вы также можете указать конкретные команды, для которых никогда не потребуется пароль при запуске с sudo. Вместо использования «ALL» после NOPASSWD выше укажите расположение команд. Например, следующая строка позволит вашей учетной записи пользователя запускать команды apt-get и shutdown без пароля.
имя пользователя ALL = (ALL) NOPASSWD: / usr / bin / apt-get, / sbin / shutdown
Это может быть особенно полезно при выполнении определенных команд с помощью sudo в сценарии.
Разрешить пользователю запускать только определенные команды
Хотя вы можете занести в черный список определенные команды и запретить пользователям запускать их с помощью sudo, это не очень эффективно. Например, вы можете указать, что учетная запись пользователя не может запускать команду выключения с помощью sudo. Но эта учетная запись пользователя может запустить команду cp с помощью sudo, создать копию команды выключения и выключить систему, используя эту копию.
Более эффективный способ - занести определенные команды в белый список. Например, вы можете дать стандартной учетной записи пользователя разрешение на использование команд apt-get и shutdown, но не более того. Для этого добавьте следующую строку, где standarduser - имя пользователя:
standarduser ALL = / usr / bin / apt-get, / sbin / выключение
Следующая команда сообщит нам, какие команды пользователь может запускать с помощью sudo:
судо -У стандардусер –л
Регистрация доступа к Sudo
Вы можете регистрировать весь доступ к sudo, добавив следующую строку. / var / log / sudo - это просто пример; вы можете использовать любое местоположение файла журнала, которое вам нравится.
Файл журнала по умолчанию = / var / log / sudo
Просмотрите содержимое файла журнала с помощью такой команды:
sudo cat / var / журнал / sudo
Имейте в виду, что, если у пользователя есть неограниченный доступ к sudo, он имеет возможность удалить или изменить содержимое этого файла. Пользователь также мог получить доступ к командной строке с помощью sudo и запускать команды, которые не регистрировались. Функция ведения журнала наиболее полезна в сочетании с учетными записями пользователей, которые имеют ограниченный доступ к подмножеству системных команд.