RSS Submit

Администрирование из командной строки

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

Дополнительная информация. Полное обсуждение разрешений файловой системы приводится в уроке 3.

Команда su — сокращение от substitute user identity (заменить личность пользователя) — позволяет легко переключиться к учетной записи другого пользователя в командной строке. Просто введите команду su и краткое имя пользователя, к которому требуется переключиться. Затем введите пароль этого пользователя (в окне Терминал [Terminal] в командной строке пароль показываться не будет). Приглашение на ввод команды изменится, указывая на то, что вы имеете привилегии доступа другого пользователя. Можно проверить имя текущего пользователя, введя команду who -m в командной строке. Вы будете оставаться в системе как этот пользователь, пока не выйдете из приложения Терминал (Terminal) или не введете команду exit. В следующем примере Michelle использует команду su для переключения своей оболочки к учетной записи Kevin, а затем возвращается в свою учетную запись.

 

Реклама: кондиционеры в Щёлково

Использование команды sudo

Еще более мощная команда sudo является сокращением от substitute user do (выполнить от имени другого пользователя) или super user do (выполнить от имени суперпользователя). Вводя sudo, вы указываете компьютеру выполнить идущую следом команду с доступом учетной записи root. Единственным требованием к использованию команды sudo в Lion является то, что она должна вызываться из учетной записи администратора (в командной строке в окне Терминал [Terminal] пароль показываться не будет).

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

Совет. Команду sudo можно использовать также для выполнения команды от имени другого конкретного пользователя (не root). Введите перед командой sudo -и имяпользователя, где имяпользователя — это краткое имя пользователя, от имени которого вы хотите выполнить команду.

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

Содержимое текстового файла Secrets.txt закрыто для пользователя Michelle, так как она не имеет прав доступа для его чтения. Однако, поскольку она является пользователем с правами администратора, то может использовать команду sudo для получения прав пользователя root и,   следовательно, сможет прочитать содержимое этого файла.

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

Помните, что с большими возможностями приходит и большая ответственность. Использование sudo с неправильно введенной командой может нанести значительный ущерб операционной системе. Командная строка предупредит пользователя о том, что он может причинить серьезный вред только при первой попытке использования команды sudo. После этого командная строка предполагает, что вы знаете, что делаете. Если бы нам пришлось сформулировать только три правила использования командной строки, то они были бы следующие: всегда дважды проверяйте то, что вводите; всегда используйте функцию завершения имен клавишей I Tab I для проверки корректности ввода и экономии времени; всегда трижды проверяйте то, что ввели, когда используете команду sudo.

 

Переключение оболочки с помощью команды sudo

Если вы как администратор должны выполнить несколько команд с доступом учетной записи root, то можно временно предоставить доступ уровня root для всей оболочки командной строки. Введите sudo -s, а затем пароль пользователя root, чтобы переключить оболочку на доступ пользователя root. Можно проверить имя текущего пользователя, введя команду who -m в командной строке. Вы будете оставаться в системе как пользователь root, пока не выйдете из приложения Терминал (Terminal) или не введете команду exit. В следующем примере Michelle использует команду sudo для переключения своей оболочки к пользователю root, а затем снова возвращается к своей учетной записи.

 

Управление доступом к команде 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.

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

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

 

Советы и приемы использования командной строки

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

    Самый полезный совет по использованию командной строки — всегда используйте функцию завершения имен клавишей Tab, когда вводите пути к файлам. Завершение имен клавишей Tab рассматривалось ранее в этом приложении.

    Перетаскивайте файлы и папки из окна Finder в окно программы Терминал (Terminal), чтобы автоматически вводить их расположения в командной строке.

    Используйте команду open, в строке приглашения, чтобы открыть текущее расположение в окне Finder.

    Досконально исследуйте настройки приложения Терминал (Terminal) (выберите Терминал > Настройки [Terminal > Preferences] в строке меню) и настройте внешний вид и поведение командной строки в соответствии со своими предпочтениями.

Чтобы отменить неправильно введенную команду или очистить текущий ввод команды, нажмите комбинацию клавиш I Control 1+Гс»1. Команды можно редактировать перед их отправкой на выполнение. Клавиши со стрелками и клавиша 1 Delete I работают так, как и должны, однако не работает мышь.

В строке приглашения на ввод команды используйте клавиши со стрелками для перемещения по истории команд и повторного использования команд. Вы также можете изменить старые команды перед их повторным выполнением. Команда history позволяет просмотреть журнал недавно используемых команд.

Чтобы очистить окно программы Терминал (Terminal), введите команду clear или используйте комбинацию клавиш | Control 1+ГП (строчную букву L).

Чтобы переместить курсор в начало текущей строки, используйте комбинацию клавиш I Control 1+1X1.

Чтобы переместить курсор в конец текущей строки, используйте комбинацию клавиш I Control 1+ПП.

Чтобы переместить курсор на одно слово вперед, используйте комбинацию клавиш I Esc 1+ГП.

Чтобы переместить курсор на одно слово назад, используйте комбинацию клавиш I Esc 1+fBl.

 

07.12.2012, 3812 просмотров.

Новости
15.11.2013

Троянский вирус Nymaim

Троянский вирус под названием Nymaim вымогает до 300 долларов.

04.03.2013

Троянские вирусы для Android

Троянские вирусы для Android

26.11.2012

Dr.Web дарит путешествия!

Новая акция от компании Dr.Web

Все новости