Как добавить пользователя в файл Sudoers в Mac OS X

Терминал в OS X

Опытным пользователям может потребоваться добавить учетную запись пользователя в файл sudoers, что позволит этому пользователю выполнять определенные команды с правами root. Чтобы значительно упростить то, что это означает, эти новые привилегированные учетные записи пользователей затем смогут выполнять команды без получения ошибок отказа в разрешении или необходимости префикса команды терминала с помощью sudo. Это может быть полезно (или необходимо) в некоторых сложных ситуациях, но представляет собой угрозу безопасности для других, поэтому не следует менять это случайно. Вообще говоря, большинству пользователей лучше использовать учетную запись администратора, использовать sudo для каждой команды или включить пользователя root. Тем не менее, прямое изменение sudoers имеет множество ситуаций использования для продвинутых людей с глубокими знаниями командной строки, и именно для этих более сложных ситуаций мы сосредоточимся на настройке файла sudoers, как описано здесь.

Файл sudoers находится в / etc / sudoers, но, в отличие от / etc / hosts и многих других файлов конфигурации системы, вы не хотите указывать общий текстовый редактор на файл, чтобы изменить его. Вместо этого вы захотите использовать специальную команду под названием visudo, которая подтверждает правильный синтаксис перед сохранением документа.

Важный: Настройка sudoers не предназначена для большинства пользователей OS X. Только опытные пользователи, у которых есть веские причины для этого, должны изменять файл sudoers. Если вы не знаете, что делаете и почему вы это делаете, не редактируйте файл sudoers и не добавляйте пользователей в файл sudoers. Это может создать угрозу безопасности или что-то сломать.

Добавить пользователя в Sudoers в Mac OS X

Добавление пользователей в sudoers требует использования vi, что может сбивать с толку, если вы к нему не привыкли. Для незнакомых мы опишем точные последовательности ключевых команд для редактирования, вставки и сохранения файла в vi, внимательно следуя инструкциям.

  1. Запустите Терминал и введите следующую команду:
  2. sudo visudo

  3. С помощью клавиш со стрелками перейдите к разделу «# Спецификация привилегий пользователя», он должен выглядеть следующим образом:
  4. # User privilege specification
    root ALL=(ALL) ALL
    %admin ALL=(ALL) ALL

  5. Поместите курсор в следующую пустую строку под записью% admin и затем нажмите клавишу «A», чтобы вставить текст, затем введите следующее в новой строке, заменив «имя пользователя» кратким именем пользователя учетной записи, которую вы хотите предоставить. привилегия (нажмите вкладку между именем пользователя и ВСЕМ):
  6. username ALL=(ALL) ALL

  7. Теперь нажмите клавишу «ESC» (escape), чтобы остановить редактирование файла.
  8. Нажмите клавишу: (двоеточие), затем введите «wq», а затем клавишу Return, чтобы сохранить изменения и выйти из vi.

Это примерно то, как это должно выглядеть, на снимке экрана в примере показано добавленное имя пользователя osxdaily:

Пользователь добавлен в файл sudoers в OS X

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

cat /etc/sudoers

Используйте cat с grep, чтобы быстро найти имя пользователя, если вы не хотите сканировать весь файл:

cat /etc/sudoers | grep username

Теперь, когда в файл sudoers добавлено «имя пользователя», все готово.

Устранение ошибки «/ etc / sudoers занято, повторите попытку позже»

Если вы пытаетесь изменить sudoers и получаете сообщение об ошибке «visudo: / etc / sudoers busy, try again later», обычно это означает, что файл уже открыт либо другим пользователем, либо случайно, либо из-за неправильного закрытия visudo. Если вы работаете на многопользовательской машине, обязательно посоветуйтесь с другими пользователями, прежде чем делать что-либо дальше, но в целом это не должно происходить часто на однопользовательской машине. Важно различать их, потому что, если вы испортите файл sudoers, вы можете оказаться в мире разочарований, проблем и возможного восстановления ОС (или файла sudoers) из резервных копий, решение которых выходит за рамки этой статьи. .

На однопользовательских компьютерах Mac эта ошибка «sudoers busy» может произойти после выхода из приложения «Терминал» без выхода из vi, или в случае сбоя Терминала или OS X, или если файл в настоящее время открыт в другом сеансе. Решение для последнего описанного случая одноразовой машины довольно простое, и вы можете устранить ошибку, удалив временный файл sudoers, который служит блокировкой:

sudo rm /etc/sudoers.tmp

Это нужно делать только в том случае, если вы уверены, что другой пользователь (или вы сами) не изменяет файл активно ни локально, ни удаленно. Поскольку настройка sudoers в целом довольно сложна, мы предполагаем, что вы знаете, что делаете здесь, но если вы не можете отследить, что и почему открыто sudoers, вы можете попробовать использовать dtrace или opensnoop для отслеживания использования файла.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *