ГлавнаяОперационные системыLinuxЗачем и как редактировать файл Sudoers в Linux

Зачем и как редактировать файл Sudoers в Linux

В вашей системе Linux есть файл под названием «sudoers». Это текстовый файл, который управляет самыми глубокими уровнями вашей системы разрешений. Он разрешает или запрещает пользователям получать доступ суперпользователя и сохраняет некоторые специальные настройки для судо .

Что такое файл sudoers?

Файл sudoers — это текстовый файл, который можно найти в каталоге «/etc» (

Contents

Что такое файл sudoers?

Linux здесь ). Его основная цель — контролировать работу sudoна вашем компьютере и определять, какие пользователи и группы могут работать с правами суперпользователя.

Кроме того, файл sudoers также может разрешить определенному пользователю запускать команды от имени другого пользователя в системе.

Sudoers Edit Пример данных WWW Edit

Например, если у вас есть веб-сервер, вы можете настроить sudoers так, чтобы другие пользователи могли запускать команды только как «www-данные».

Также читайте: Что такое Doas и как его установить

Когда мне нужно редактировать файл sudoers?

Когда вы впервые устанавливаете систему Linux, например Ubuntu, программа установки автоматически добавит первого пользователя в файл sudoers. Это сделано для того, чтобы после установки можно было сразу запускать административные задачи с помощью команды sudo.

Пользователи Sudo редактируют первое использование Sudo

Однако если вы создадите новую учетную запись пользователя, по умолчанию у нее не будет прав суперпользователя. Если вам нужно предоставить ему права суперпользователя, вам нужно будет отредактировать файл sudoers и добавить в него эту учетную запись пользователя.

Читайте также: Как проверить историю Sudo в Linux

Как редактировать файлы sudoers?

Никогда не редактируйте файл sudoers в обычном текстовом редакторе. Это может привести к одновременному редактированию и повреждению файлов, что потенциально може

Когда мне нужно редактировать файл sudoers?

s необходимо редактировать, запустив visudoв Терминале, например:

sudo visudo
Sudoers Редактировать Visudo

Обратите внимание, что вам нужно использовать sudoдля запуска visudo. Это откроет файл sudoers в текстовом редакторе по умолчанию в Терминале, которым по умолчанию является Nano.

Sudoers Редактировать образец файла Sudoers

Что можно сделать, изменив файл sudoers?

Как обсуждалось выше, основная задача файла sudoers — определить, какие пользователи и группы могут использовать sudo. Однако этот файл также содержит некоторые параметры, которые позволят вам настроить поведение sudo.

Некоторые из этих опций включают возможность изменения продолжительности тайм-аута повышения привилегий. Существуют также варианты изменения редактора visudo по умолчанию и базового усиления защиты, например, с помощью pty.

Изменить тайм-аут sudo

По умолчанию ввод пароля sudo повышает ваши разрешения до тех пор, пока вы не закроете оболочку или не выйдете. Это может быть небезопасно, и некоторые могут предпочесть вводить пароль каждый раз при использовании sudo.<

Как редактировать файлы sudoers?

/code>, как указано выше.
  • Нажмите Alt+ /, чтобы перейти к концу документа. Если вы используете Vi или Vim, вместо этого нажмите Shift+ G.
  • Sudoers Редактировать нижний файл Sudoers
    1. Создайте новую строку внизу документа и добавьте следующую строку:
    Defaults timestamp_timeout=0
    Sudoers изменить параметр тайм-аута<

    Это установит время ожидания sudo равным нулю секунд, поэтому у вас будут разрешения sudo в течение нуля секунд после выполнения первой команды. Если вы предпочитаете другой интервал, введите это значение в секундах.

    Вы также можете установить время ожидания «-1», что дает вам бесконечный льготный период. Не делай этого. Это удобный способ однажды случайно уничтожить вашу систему.

    1. Нажмите Ctrl+ oдля сохранения и CtrlЧто можно сделать, изменив файл sudoers?тороны, если вы используете Vi или Vim, вы можете нажать ESC, а затем ввести :wqдля выхода.

    Ограничьте, кто может использовать Sudo и для чего

    Если у вас есть несколько пользователей, обращающихся к одной и той же системе через оболочки, вы можете контролировать их доступ, задав значения в sudo.

    Создать собственное правило для пользователей невероятно просто. Правило разрешений в файле sudoers выглядит примерно так:

    username hostlist = (userlist) commandlist
    • Поле usernameуказывает, к какому пользователю в системе будет применяться это правило.
    • hostlistсообщает sudo применить это правило к списку системных хостов, на которых известно использование

      Изменить тайм-аут sudo

      ает в качестве хоста только локальный компьютер.
    • userlistсообщает sudo, какую учетную запись пользователя может заменить поле имени пользователя.
    • Наконец, commandlist — это список, разделенный запятыми, который указывает, какие программы в системе может запускать этот пользователь.

    Зная это, рассмотрим следующий пример:

    ramces ALL=(ALL) ALL

    Эта строка позволяет пользователю ramces подменять себя любым пользователем и запускать любую команду на любом хосте. Это связано с тем, что ALL— это специальное значение в файле sudoers, означающее «без ограничений».

    Sudoers Править Опасно Sudo Править

    Однако это также означает, что устанавливать это правило для ваших пользователей опасно. Это связано с тем, что он позволяет пользователю запускать любую команду и получать доступ к любому файлу от имени любого пользователя.

    Таким образом, более подходящее и безопасное правило может выглядеть примерно так:

    ramces ALL=(root) ALL

    При этом пользователь ramces по-прежнему может работать от имени пользователя root, но не может подменять себя другим пользователем.

    Ограничение root-доступа для пользователей и групп

    Для большего контроля вы можете добавить строку, подобную следующей, которая позволит только пользователю «ramces» запускать apt update.

    23
    Sudoers Редактировать ограниченное Sudo

    Поместите %перед пользователем, и он определит группу. Строка ниже позволит каждому пользователю в группе «admin» иметь разрешения корневого уровня. Это будет группа, определенная группами разрешений вашей системы.

    %admin ALL=(root) ALL

    Усиление защиты sudoers с помощью use_pty

    Другое использование файла sudoers — использование sudo только в ограниченной изолированной среде.

    Это может быть невероятно полезно, если вы запускаете sudo на незащищенном компьютере, постоянно подключенном к Интернету. Зная это, вы можете использовать эту функцию, перейдя в файл «/etc/sudoers» и введя следующую строку кода:

    Defaults use_pt

    Ограничьте, кто может использовать Sudo и для чего

    tist.ru/wp-content/uploads/2024/05/sudoers-edit-07-use-pty-option-e1651457439188.png" alt="Sudoers Edit Использовать параметр Pty">

    Использование sudo без пароля

    Другой параметр, который вы можете включить в файле sudoers, — возможность запускать sudo без пароля . Это может быть особенно полезно, если вы постоянно выполняете на своем компьютере команды суперпользователя.

    Чтобы включить эту функцию, все, что вам нужно сделать, это добавить один тег в правило текущего пользователя:

    ramces ALL = (root) NOPASSWD: ALL
    Sudoers редактирует параметр Nopasswd

    Если вы заметили, основное отличие этого примера от приведенного выше — добавление NOPASSWD:.

    Изменить редактор visudo

    Наконец, в зависимости от того, какую версию Linux вы используете, есть два основных способа сменить редактор.

    Для Ubuntu вам нужно запустить команду терминала, указанную ниже:

    sudo update-alternatives --config editor

    Вы увидите что-то вроде следующего:

    There are 4 choices for the alternative editor (providing /usr/bin/editor).
     
      Selection    Path                Priority   Status
    ------------------------------------------------------------
    * 0            /bin/nano            40        auto mode
      1            /bin/ed             -100       manual mode
      2            /bin/nano            40        manual mode
      3            /usr/bin/vim.basic   30        manual mode
      4            /usr/bin/vim.tiny    10        manual mode
     
    Press enter to keep the current choice[*], or type selection number: 3

    Если вы хотите выбрать vim в качестве редактора visudo из набора по умолчанию nano, нажмите его номер выбора 3, а затем нажмите Enter.

    Редактор изменений Sudoers Edit

    Для других версий Linux вам потребуется добавить новую строку в файл «~/.bashrc», как показано ниже:

    export EDITOR="vim"

    Затем сохраните файл. В этом случае для вашего редактора visudo будет выбран vim.

    Поздравляем! Теперь вы знаете, как внести базовые изменения в файл sudoers. Мало того, теперь у вас есть базовое представление о том, как работает sudo. А также дополнительные параметры, которые можно включить через файл sudoers.<

    Ограничение root-доступа для пользователей и групп

    ux. Вы можете проверить Эта статья , где мы рассказываем о некоторых из лучших дистрибутивов Linux, которые вы можете установить сегодня.

    Часто задаваемые вопросы

    1. Я получил ошибку «(имя пользователя) отсутствует в файле sudoers». Моя установка sudo сломана?

    Вовсе нет. Это происходит всякий раз, когда у пользователя, которого вы используете, нет записи правила в файле sudoers. Это может быть либо то, что сам пользователь не входит в sudoers, либо его нет ни в одной группе, которая есть в sudoers.

    Зная это, исправить проблему относительно легко. Сначала вам необходимо войти в свою учетную запись root. Это можно сделать, набрав su, а затем введя пароль root. Затем вы можете ввести sudo visudo, чтобы войти в файл sudoers.

    После этого последнее, что вам нужно сделать, — это добавить свое имя пользователя в файл sudoers. Например, это фрагмен

    Усиление защиты sudoers с помощью use_pty

    нием alice:

    alice ALL=(root) ALL

    2. Какие проблемы возникают при создании собственных пользовательских правил?

    Одна из проблем, с которой вы можете столкнуться при создании собственных правил, связана с подстановочными знаками. Это символы, которые можно использовать для создания правила, применимого к нескольким случаям. Например, это правило позволяет администратору группы запускать catв любом файле в «/var» от имени пользователя root.

    %admin ALL: (root) /bin/cat /var/*

    Проблема в том, что этот подстановочный знак также может заменять пробелы. Таким образом, такая настройка также может разрешить такие команды:

    sudo ca

    Использование sudo без пароля

    n>log.1 /home/bob/secret.txt

    По этой причине при создании правил рекомендуется избегать использования подстановочных знаков. Вместо этого вы можете использовать suдля одноразовых задач или установить права доступа к файлу, чтобы sudo не требовалось.

    3. Можно ли запретить sudo отправлять системную почту всякий раз, когда я запускаю root?

    Да! Вы можете легко запретить sudo отправлять почту, используя тег NOMAIL. Например, это запись правила для моей учетной записи пользователя в файле sudoers:

    ramces ALL: (root) NOMAIL: ALL

    Изображение предоставлено: герой с компьютерной схемой от 123RF

    Изменить редактор visudo

    Часто задаваемые вопросы

    1. Я получил ошибку «(имя пользователя) отсутствует в файле sudoers». Моя установка sudo сломана?

    2. Какие проблемы возникают при создании собственных пользовательских правил?

    3. Можно ли запретить sudo отправлять системную почту всякий раз, когда я запускаю root?

    ПОХОЖИЕ СТАТЬИ

    Популярные записи