Вопросы, связанные с командой sudo, которая позволяет пользователям запускать программы с привилегиями другого пользователя (обычно это пользователь root).

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

Эта команда позволяет выдающему пользователю:

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

sudo двоичный файл включен в sudo пакет, который также включает в себя инструменты visudo а также sudoedit, С помощью visudo рекомендуемый способ редактирования /etc/sudoers файл, который настраивает поведение sudo, в то время как sudoedit открывает редактор по умолчанию с привилегиями суперпользователя.

sudo Команда может быть настроена с помощью /etc/sudoers файл. Это следует определенному синтаксису; с помощью visudo Рекомендуется для предотвращения ошибок. С помощью visudo требует повышенных привилегий, поэтому обычный пользователь будет выдавать sudo visudo,

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

Из справочной вики Ubuntu:

Преимущества использования sudo

В Ubuntu есть ряд преимуществ, позволяющих по умолчанию отключать входы в систему, в том числе:

  1. У установщика меньше вопросов.
  2. Пользователям не нужно запоминать дополнительный пароль для случайного использования (т. Е. Пароль root). Если они это сделают, они могут забыть об этом (или записать это небезопасно, что позволит любому легко взломать их систему).
  3. По умолчанию он избегает интерактивного входа "Я могу сделать все что угодно". Вам будет предложено ввести пароль до того, как произойдут серьезные изменения, которые должны заставить вас задуматься о последствиях того, что вы делаете.
  4. sudo добавляет запись в журнал выполнения команды (команд) (в /var/log/auth.log). Если вы запутались, вы можете вернуться и посмотреть, какие команды были запущены.
  5. На сервере каждый взломщик, пытающийся взломать свой путь, будет знать, что у него есть учетная запись с именем root, и попытается сделать это первым. Чего они не знают, так это имена других ваших пользователей. Так как пароль учетной записи root заблокирован, эта атака становится практически бессмысленной, поскольку в первую очередь нет пароля, который можно взломать или угадать.
  6. Позволяет легко передавать права администратора, добавляя и удаляя пользователей из групп. Когда вы используете один пароль root, единственный способ отменить авторизацию пользователей - это изменить пароль root.
  7. sudo может быть настроен с помощью более тонкой политики безопасности.
  8. Пароль корневой учетной записи не нужно сообщать всем, кому необходимо выполнить какой-либо тип административных задач в системе (см. Предыдущий пункт).
  9. Аутентификация автоматически истекает через короткое время (которое может быть установлено на желаемое значение или 0); так что если вы уйдете из терминала после запуска команд от имени root с помощью sudo, вы не будете оставлять корневой терминал открытым на неопределенный срок.

Недостатки использования sudo

Хотя для настольных ПК преимущества использования sudo отлично, есть возможные проблемы, которые необходимо отметить:

  1. Перенаправление вывода команд, запускаемых с sudo требует другого подхода. Например, рассмотрим sudo ls > /root/somefile не будет работать, так как это оболочка, которая пытается записать в этот файл. Вы можете использовать ls | sudo tee -a /root/somefile добавить или ls | sudo tee /root/somefile переписать содержимое. Вы также можете передать всю команду процессу оболочки, запущенному под sudo, чтобы файл был записан с правами root, такими как sudo sh -c "ls > /root/somefile",
  2. Во многих офисных средах ТОЛЬКО локальный пользователь в системе - root. Все остальные пользователи импортируются с использованием методов NSS, таких как nss-ldap. Чтобы настроить рабочую станцию ​​или исправить ее, в случае сбоя в сети, когда nss-ldap не работает, требуется root. Это делает систему непригодной для использования, если она не взломана. Здесь требуется дополнительный локальный пользователь или включенный пароль root. У локальной учетной записи пользователя должен быть свой $HOME на локальном диске, а не в NFS (или любой другой сетевой файловой системе), и файл.profile/.bashrc, который не ссылается ни на какие файлы при монтировании NFS. Обычно это относится к root, но если вы добавляете учетную запись без полномочий root, вам придется принять эти меры предосторожности вручную. Однако преимущество использования локального пользователя с помощью sudo заключается в том, что команды можно легко отслеживать, как упомянуто в приведенных выше преимуществах.

Внешние ресурсы:

Популярные вопросы: