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

Оглавление:

Anonim

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

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

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

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

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

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

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

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

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

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

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

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

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

cat /etc/sudoers

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

cat /etc/sudoers | grep имя пользователя

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

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

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

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

sudo rm /etc/sudoers.tmp

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

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