Как принудительно выполнить аутентификацию по паролю Sudo в Linux
Заставление пользователей вводить пароль Sudo для каждой команды в Linux
Как вы, возможно, уже знаете, когда пользователь вводит команду с привилегиями sudo, пароль sudo запоминается на короткий период времени.
По умолчанию пароль запоминается 15 минут. В течение этого времени пользователям не нужно вводить пароль для последующих команд, которые выполняются вскоре после первой команды sudo, даже если им требуются привилегии sudo.
Что, если вы хотите заставить пользователей постоянно вводить пароль sudo? Этому мы сейчас и научимся. В этом кратком руководстве объясняется, как принудительно выполнить аутентификацию по паролю sudo в Linux.
Принудительная аутентификация по паролю в Sudo
Мы можем сделать это глобально для всех пользователей или применить это правило только для определенных пользователей. Во-первых, давайте посмотрим глобальный путь.
Принудительная аутентификация по паролю Sudo глобально для всех пользователей
1. Отредактируйте файл /etc/sudoers
, используя редактор по умолчанию:
sudo visudo
Мой текстовый редактор по умолчанию — nano.
2. Найдите следующую строку:
Defaults env_reset
И timestamp_timeout=0
рядом со строкой Defaults env_reset
, как показано ниже:
Defaults env_reset, timestamp_timeout=0
Принудительная глобальная аутентификация по паролю Sudo
Сохраните файл и закройте его. Если у вас текстовый редактор nano, нажмите CTRL+O
и ENTER, а затем CTRL. +X
, чтобы сохранить файл и закрыть его. Если это редактор Vi/Vim, нажмите ESC
, введите :wq
и нажмите ВВОД
, чтобы сохранить и закрыть файл.
Выйдите из текущего сеанса и снова войдите в систему. С этого момента всем пользователям придется вводить пароль sudo каждый раз для каждой команды с префиксом sudo.
Как я уже сказал, это применимо для всех пользователей системы. Однако вы можете применить эту конфигурацию только для конкретных пользователей, как описано ниже.
Принудительная аутентификация по паролю Sudo для определенных пользователей
Вместо того, чтобы заставлять всех пользователей постоянно вводить пароль для всех команд sudo, вы можете заставить только определенных пользователей вводить пароль для каждой команды sudo, добавив локальный контент в /etc/sudoers.d/
каталог. Это лучший подход для принудительной аутентификации по паролю sudo для каждого пользователя.
1. Перейдите в каталог «/etc/sudoers.d/
»:
cd /etc/sudoers.d/
2. Создайте файл конфигурации для каждого пользователя с помощью команды:
sudo visudo -f ostechnix
Замените «ostechnix» на свое имя пользователя в приведенной выше команде.
3. Добавьте в него следующую строку:
Defaults timestamp_timeout=0
Принудительная аутентификация по паролю Sudo для конкретного пользователя
Сохраните файл и закройте его. Выйдите из системы и войдите снова, чтобы применить изменения.
Отныне пользователь «ostechnix» должен каждый раз вводить пароль для каждой команды sudo.
Однако другим пользователям системы не нужно вводить пароль sudo. Для других пользователей пароль по умолчанию будет запоминаться на 15 минут. Только через 15 минут пользователям придется вводить пароль для каждой команды sudo.
Заключение
В этом кратком руководстве мы обсудили простой, но полезный совет, позволяющий заставить всех пользователей или конкретного пользователя вводить пароль sudo при запуске команд в Linux.
Обратите внимание, что в некоторых случаях это может раздражать, поскольку пользователь вынужден вводить пароль для каждой транзакции sudo. Используйте этот совет только тогда, когда это абсолютно необходимо.
Связанное чтение:
- Как изменить время ожидания пароля Sudo в Linux
Избранное изображение от Pexels.