Управление доступом к команде sudo

По умолчанию любой администратор может использовать команду sudo для доступа к ресурсам от имени системного администратора (root). Более того, если вы правильно вводите пароль пользователя root, команда sudo остается «открытой» на пять минут. В этом случае вам не понадобится вводить пароль пользователя root при последующем использовании команды sudo в течение этого времени. Кроме этого, команда sudo -s оставляет открытым окно Терминал (Terminal) с доступом пользователя root на неопределенный срок.

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

Совет. Все попытки использования команды sudo записываются в журнал system.log, поэтому можно посмотреть, не злоупотребляет ли пользователь административными правами. Просмотреть содержимое журнала system, log можно из приложения /Программы/Утилиты/Консоль (/Applications/ Utilities/Console).

В качестве альтернативы можно отредактировать файл конфигурации команды sudo /etc/sudoers. Данный файл содержит правила, по которым команда sudo определяет разрешенные действия. Как администратор вы можете читать данный файл конфигурации с помощью команд cat или less. В следующем примере Michelle использует команду cat для чтения файла конфигурации команды sudo. Следует обратить внимание на то, что она должна предварить команду cat командой sudo, поскольку файл sudoers защищен доступом пользователя root. Вывод команды cat был обрезан, чтобы показать только самые интересные части файла sudoers.

МуМас:- michelleS sudo cat /etc/sudoers

Password:

# sudoers file.

#

# This file MUST be edited with the 'visudo' command as root.

# Failure to use 'visudo' may result in syntax or file permission errors

# that prevent sudo from running.

«

# See the sudoers man page for the details on how to write a sudoers file.

#

# User privilege specification

root ALL=(ALL) ALL

%admin ALL=(ALL) ALL

Как видно из раздела User privilege specification данного файла, пользователю root или любому члену группы admin предоставляется неограниченный sudo-доступ ко всем командам. Вы можете отредактировать этот файл, но стоит отметить: в документе говорится, что нужно использовать специальную версию команды vi, известную как visudo. Использование команды vi для редактирования текстовых файлов рассматривалось ранее в этом уроке.

Если вы знакомы с использованием редактора vi, то редактирование файла sudoers с помощью команды visudo не должно вызвать у вас каких-либо проблем. Чтобы отключить доступ администраторов к команде sudo, нужно просто добавить знак решетки (#) в начало строки %admin, и команда sudo будет игнорировать эту строку. Вы можете добавить дополнительных пользователей или группы, которым будет предоставлен доступ к команде sudo, дублируя существующие строки привилегий и заменяя имена учетных записей. Следует помнить, что допускается использовать только «краткое» имя учетной записи, а для указания имен групп используется символ процентов (%).