Sudo ��� mac os

Терминал на Mac (macOS): что это, команды, синтаксис – понятный гид для начинающих

Сегодня все мы в 99% случаев работаем с Mac через приятный, понятный и удобный графический интерфейс пользователя. Но при решении ряда специфических задач даже Finder не справится с тем, что сделает старая добрая командная строка…

Например, с её помощью гораздо проще – и быстрее! – искать затерявшийся где-то в недрах системы 5-гигабайтный файл или путь к приложению, которое, как вы думали, уже давно удалено.

Что такое «Терминал»?

Терминал – стандартная системная утилита для взаимодействия с Mac при помощи командной строки. В Linux есть похожий инструмент управления, т.к. обе ОС являются Unix-подобными.

Интерфейс командной строки (command line interface или сокращенно CLI) – он же язык общения с Терминалом – называется bash. Всё, о чем мы расскажем ниже – это bash-команды.

Общие команды для Mac

Основной синтаксис

Bash-команда обычно строится так:

[Команда] [Опции] [Ввод или путь к файлу или директории]

ls – это команда, -la – это соединение двух опций (-l и -a), а /Applications – это путь к списку.

Если вы поймете путь, то поймете и то, как macOS в действительности видит ваши файлы. Как? Да как в матрешке – одна за другой. Например, вот путь к файлу под названием «Мои секреты», лежащему на Рабочем столе: /Users/Yablykworld/Desktop/My Secrets.

Пробелы

С пробелами действует простое правило – ничего лишнего!

Почему? Дело в том, что bash считает пробел концом команды!

Если у вас есть папка с пробелами в названии – например, Yablyk Folder, и вы пытаетесь вывести её содержимое с помощью команды ls /Applications/Yablyk Folder, то соответствующий файл не будет найден, и на выходе появится ошибка:

Чтобы решить эту проблему, понадобятся кавычки или обратный слэш. Вот теперь всё будет правильно:

ls /Applications/»Yablyk Folder» , или
ls /Applications/Yablyk\ Folder

Многим командам требуется доступ с уровня администратора. Если вы сейчас пользуетесь Mac не под аккаунтом его «админа», но знаете пароль, введите в командную строку перед текстом самой команды sudo – (что означает «single user do», «делает один пользователь»). Так вы временно получите привилегии администратора и возможность произвести необходимые операции без смены аккаунта.

Команды Терминала для улучшения продуктивности

  • Заменяет: Spotlight
  • Почему лучше: работает быстрее, осуществляет поиск и по системным папкам (тогда как Spotlight в них не ищет или плохо индексирует их содержимое).

Синтаксис find состоит из четырех частей:

2. путь к директории, в которой вы хотите искать информацию (например, /Applications);

3. опции (например, -name дает find возможность искать файлы, которые подходят к заданному названию);

4. непосредственно сам поисковый запрос (например, Google Chrome).

Вот как выглядит вся команда в целом:

find /Applications -d 1 -name «*Google Chrome*»

Примечание: «звездочки» (*) указывают на то, что используется regex (регулярные выражения).

  • Заменяет:⌘Cmd + I, т.е. команды для отображения информации;
  • Почему лучше: может показать сразу несколько папок за один раз, и обычно выполняется быстрее.

du – это сокращение от «disk usage». Команда поможет быстро узнать размер конкретного файла или папки, или даже списка файлов внутри папки.

Лучшие опции для du:

-d («глубина», или depth): если за этой буквой стоит цифра, то find ограничит поиск по директории соответствующим количеством уровней. Например, если вы отдадите вашему Mac команду du:

Терминал выдаст вам информацию только об общем «весе» папок и файлов в папке Applications, без данных о размере подпапок, вложенных в эти папки.

-h (human readable, или «человеко-читаемые»). Выводит размеры файлов в привычных людям величинах – K (килобайтах), М (мегабайтах) или G (гигабайтах).

Команда du в действии:

  • Заменяет: ручной перенос папок и файлов в нужное место.
  • Почему лучше: быстрее и не требует много ручного труда.

Синтаксис mv очень прост – старый путь меняется на новый:

mv /Users/Yablykworld/Documents/file1 /Users/Yablykworld/Desktop/file1

Эта команда переносит file1 из папки Документы на Рабочий стол.

  • Заменяет:⌘Cmd + I (показать информацию).
  • Почему лучше: быстрее, умеет отображать информацию о нескольким файлах сразу и имеет богатую палитру настроек.

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

Читайте также:  После установки windows не работает wifi

Лучшие опции для ls:

-l – отображает права для каждого файла в папке, время последнего изменения, владельца файла и его (файла) название.

-a – показывает все файлы в папке, включая скрытые (отличный вариант для библиотеки пользователя, которая в macOS по умолчанию скрыта).

Вот как всё работает:

ls -la /System/Library

mkdir

  • Заменяет действие:Finder → Файл → Новая папка.
  • Почему лучше: работает быстрее, и задать имя новой папочке можно сразу в командной строке (нет необходимости кликать два раза, как это имеет место быть в графическом интерфейсе).

Создает новые папки в мгновение ока.

  • Заменяет: процедуру отправки файлов в Корзину и её очистки;
  • Почему лучше: быстрее, плюс удаляются даже те файлы, от которых обычно не получается избавиться с помощью Корзины.

Эта команда раз и навсегда удаляет абсолютно любой файл, который вы поместите в команду. Что, разумеется, требует повышенного внимания – в отличие от Корзины, rm не будет спрашивать «а Вы точно уверены?». Предполагается, что вы знаете, что делаете…

По умолчанию rm удаляет только файлы, папки остаются. Для того, чтобы сразу удалять и их, используйте опцию -R (рекурсивно).

rm -R /Users/Yablykworld/Desktop/Yablyk_Folder

Источник

На Mac, как я могу дать себе постоянные привилегии sudo?

В Mac OS X 10.6 как я могу получить постоянные привилегии sudo? это как linux в файле «/etc/sudoers»?

5 ответов 5

Не совсем опытный в OSX, но, кажется, находится в одном из следующих:

Рекомендуется использовать Visudo для редактирования файла, но вы можете использовать другой текстовый редактор.

Под строкой с надписью root ALL=(ALL) ALL

Вы добавляете имя пользователя и user ALL=(ALL) ALL чтобы предоставить себе постоянные привилегии sudo.

Вы можете, конечно, отредактировать /etc/sudoers вручную, чтобы сделать это.

Но в системных настройках Mac OS X есть встроенный метод для достижения того же: предоставьте пользователю учетную запись администратора вместо стандартной , и она будет автоматически добавлена в /etc/sudoers как sudoer (через членство в группе wheel ).

Тем не менее, пользователям все равно нужно будет вводить свой собственный пароль, что очень хорошо (тм) .

sudo в OSX точно так же, как в Linux, и как Linux, man sudo показывает детали

sudo определяет, кто является авторизованным пользователем, обращаясь к файлу /private /etc //sudoers.

/etc — это символическая ссылка на /private /etc, поэтому ваше предложение для /etc /sudoers будет работать.

Вы могли бы также запустить sudo -s

Это даст вам права суперпользователя для этого сеанса.

Чтобы вернуться к обычным разрешениям, просто введите exit

Разблокируйте учетную запись root.

Шаги, чтобы разблокировать «root» в Mac:

• 1.Open Directory Utility (/ Приложения / Утилиты / Справочник Utility.app)

• 2.Перейдите в Edit> Enable Root User

• Будет запрошен пароль, нажмите ОК, чтобы ввести ПУСТОЙ пароль.

Выйдите из системы, затем введите root в Имя пользователя и ваш IN . (Примечание. Убедитесь, что ИМЯ И ПАРОЛЬ ПРОВЕРЕНЫ В ПАРАМЕТРАХ ВХОДА.)

Источник

Ввод команд администратора в Терминале на Mac

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

Например, если Вы не являетесь администратором или корневым пользователем, при вводе команды shutdown будет выдана следующая ошибка:

Причина заключается в том, что команду shutdown может выполнить только корневой пользователь или администратор с правами корневого пользователя.

Чтобы выполнить команды с правами суперпользователя, используйте команду sudo . sudo обозначает superuser do (выполняется суперпользователем).

Следующий пример работает на компьютерах с установленной macOS. Не выполняйте его, если не хотите перезагружать компьютер.

Потребуется ввести пароль текущего пользователя.

Команду sudo может использовать только администратор. Если Вы еще не вошли в систему как администратор, Вы можете сделать это с помощью следующей команды, где adminUsername — это имя администратора:

Потребуется ввести пароль adminUsername, после чего будет открыта новая shell для этого пользователя.

Если это необходимо для выполнения команды, Вы можете переключиться на корневого пользователя с помощью команды su . В обычных обстоятельствах не рекомендуется входить в систему в качестве корневого пользователя.

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

Источник

Секреты Терминала. Часть 3: Права доступа

Пришло время продолжить наш цикл статей о Терминале Mac OS X и премудростях его использования рядовыми пользователями. В предыдущей статье мы коснулись такого понятия, как права доступа. Эта тема заслуживает отдельной статьи, поскольку разграничение владельцев файлов и прав доступа — один из фундаментальных принциов *nix-систем и одна из главных причин появления странных неполадок в работе Мака.

Читайте также:  Parallel desktops mac os mojave

Сегодня мы кратко расскажем вам о системе прав доступа и о связанных с ней командах Терминала: chown, chmod, chgrp и sudo.

Итак, главная заповедь: каждый объект в Mac OS X обязательно имеет своего пользователя-владельца. Например, владельцем почти всего содержимого вашей папки пользователя будете вы. Владельцем системных файлов будет пользователь root, т.е. главный администратор компьютера. Даже если объект номинально никому не принадлежит, он всё равно числится за виртуальным пользователем nobody.

Сразу возникает вопрос — а почему это кроме вас, законного владельца компьютера, есть ещё какой-то главный администратор root? Всё это нужно как раз по соображениям безопасности, именно такое разграничение и есть главный залог безопасности Mac OS X.

Если бы обычный пользователь имел права администратора root, то любая вредоносная программа сразу могла бы получить полный доступ ко всей системе, могла бы самостоятельно запуститься и удалить всё, что угодно. Поэтому права root-админа даются рядовому пользователю лишь на короткие промежутки времени, и всегда это сопровождается появлением окошка ввода пароля. Это окошко, вылезающее на экран при установке программ или изменении важнейших настроек системы, означает, что у текущего пользователя не хватает полномочий, и ему нужно подтвердить факт обладания компьютером путём ввода пароля.

Каждый пользователь принадлежит к определённой группе — как минимум, к одной. Обычные пользователи находятся в группе staff. Все, кто имеют административные привилегии, также принадлежат к группам admin и wheel. Существуют и другие группы: owner, everyone, authedusers (и ещё пара десятков).

Чтобы узнать все группы, в которые вы входите, наберите в терминале команду:

groups

Запомните важнейшую команду, которой вам придётся часто пользоваться:

Она позволяет выполнить какое-либо действие от имени пользователя root. Её можно ввести перед какой-то другой командой, например:

Тогда права root будут переданы вам только для одной этой команды. Есть и другой вариант — приобрести права root-пользователя до закрытия окна Терминала. Для этого введите:

Никогда не выполняйте от имени root никакие команды, назначение которых вам неизвестно. Всегда тщательно проверяйте правильность введённых команд, потому что в таком режиме работы испортить можно всё, что угодно, а вернуть обратно — нет.

В любом случае, команда sudo потребует от вас ввода пароля:

Пароль всегда вводится вслепую, т.е. вы не увидите на экране никаких символов. По завершении ввода пароля нажмите Enter, и вы увидите, что левая часть строки изменится на:

Это означает, что вы вошли в Терминал как root-пользователь.

Обычно команда sudo будет нужна для изменения каких-то системных настроек или просто для доступа к тем файлам, которые вам не принадлежат.

Теперь мы переходим к главному: собственно правам доступа. Эти права бывают трёх видов:

  • на чтение (просмотр) объекта
  • на запись (т.е. редактирование и удаление)
  • на запуск объекта

Можно обладать одним, двумя или всеми тремя правами сразу.

Каждое право для одного и того же объекта задаётся в трёх форматах:

  • непосредственно для владельца
  • для группы пользователей, к которой принадлежит владелец
  • для всех остальных

Права доступа обозначаются двумя способами: цифровым и буквенным.

Цифровой способ подразумевает написание трёхзначного числа: например, 775, 644, 444, 521, 700.

Первая цифра — это права для владельца.

  • 4 означает право на чтение
  • 2 означает право на запись
  • 1 означает право на запуск
  • 0 означает отсутствие всех трёх прав

Эти цифры суммируются, если несколько прав принадлежат пользователю одновременно:

  • 5 (4+1) означает права на чтение и запуск
  • 6 (4+2) означает права на чтение и запись
  • 7 (4+2+1) означает полный спектр прав

Вторая цифра трёхзначного обозначения — права для группы владельца. Третья — права для всех остальных.

Теперь расшифруем приведённые выше примеры:

владелец и его группа имеют полный доступ (4+2+1=7)

все остальные пользователи могут читать и запускать файл (4+1=5)

владелец имеет право на чтение и запись (4+2=6)

все, кроме него, могут лишь прочитать файл (4)

абсолютно все пользователи могут только читать файл, но сделать с ним ещё что-то невозможно

владелец может читать и запускать файл (4+1=5)

группа владельца может редактировать файл (2)

все остальные имеют право лишь на запуск (1)

эксклюзивные полные права доступа есть только у владельца (4+2+1)

А теперь приведём конкретный пример. Допустим, у вас есть папка.

  • Если у вас есть только права на запись, вы сможете её только переименовать, но никак не заглянуть внутрь
  • Если у вас есть права только на исполнение, то вы сможете открыть папку, но не увидите в ней никакого содержимого. Но если вы знаете имена лежащих там файлов, то сможете с ними работать.
  • Если у вас есть права на чтение и исполнение, то вы сможете пользоваться всем содержимым папки, но не сможете её переименовать или изменить атрибуты
Читайте также:  Курсор для мыши windows 10 перекрестие

Буквенный способ всегда состоит из 10 символов и имеет следующий вид:

drwxrw-r-x

Первый символ показывает, с чем вы имеете дело:

  • прочерк означает обычный файл
  • d — папку
  • l — ссылку на другой файл

Оставшиеся девять символов делятся на три группы по три знака. Первые три показывают права доступа владельца, вторые три — группы, третьи — всех остальных:

  • r — право на чтение (read)
  • w — право на запись (write)
  • x — право на запуск (execute)

Если права нет, то на соответствующем месте ставится прочерк.

Есть ещё два специальных обозначения, обычно встречающиеся у папок:

  • t — не позволяет пользователю удалять в данном каталоге чужие файлы, если у него нет права на запись в эти файлы
  • s — означает, что файлы, создаваемые в каталоге, наследуют группу от каталога, а не от создателя файла

Таким образом, приведённый выше пример означает то же самое, что и 765.

Кстати, файл вполне может иметь и права доступа 000 . Тогда единственный, кто может что-то с ним сделать будет root-администратор. Стоит помнить о такой возможности хотя бы потому, что стоит быть аккуратным с этим. Кстати, в этом случае и сменить права назад сможет тоже только администратор. Будьте аккуратнее.

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

Теперь о том, как менять права доступа и владельцев файлов. Правом изменения прав доступа обладают владелец файла и пользователь root. Отсюда вывод — если у вас не получается поменять права, используйте команду sudo.

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

chmod

Она имеет следующий синтаксис:

chmod 755 /System/Library/Extensions

Через пробел указываются сами права и путь к файлу или папке.

У команды есть полезный параметр -R (именно заглавная R), который присваивает указанные права всем содержащимся внутри объекта файлам. То есть, чтобы выставить права 755 для всей папки Extensions из примера выше, нужно ввести:

chmod -R 755 /System/Library/Extensions

Для смены группы владельца используется команда

chgrp

Принцип работы тот же, что и у chmod, тоже действует параметр -R. Группу можно вводить как в текстовом формате, так и в цифровом. Запомните главные обозначения:

сделает вашу папку с музыкой принадлежащей группе администраторов.

С командой chgrp связано две опции — -v и -c . Очень полезны, так как позволяют нам получать информацию о том, что же именно происходит, какие действия совершаются в результате выполнения. Первая, -v , показывает всю информацию, даже тогда, когда и менять-то ничего не пришлось, а вторая показывает только факт смены прав. Это может быть удобнее при больших количествах файлов.

Чтобы поменять самого владельца, нужна команда

chown

Её синтаксис такой:

chown (-R) владелец:группа путь

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

chown root:wheel /mach_kernel

или в цифровом формате. Обозначения групп см. выше, а вот обозначения пользователей:

Та же самая команда может выглядеть так:

Присваивает ядро системы пользователю root и группе wheel.

Права доступа у файлов в системе имеют свойство иногда неожиданно портиться. Обычно это вина криво сделанных установщиком программ. Какие последствия будет иметь невозможность доступа системы к важным файлам настроек, компонентов и расширений — объяснять не стоит. Поэтому запомните ещё две важные вещи:

  • права по умолчанию для ядра системы (файл /mach_kernel): 644, владелец — root, группа — wheel
  • права для папки кекстов (/System/Library/Extensions): 755, владелец — root, группа — wheel.

Эти два факта помогут вам решить многие проблемы со странной или некорректной работой системы. Если это не поможет, запустите Дисковую утилиту из папки Программы/Служебные программы, выберите там раздел и нажмите кнопку Восстановить права доступа.

Восстановление прав доступа

Запустить Дисковую утилиту можно и с установочного DVD Mac OS — через верхнее меню.

На сегодня информации достаточно. Следующая статья будет посвящена копированию, переименованию и удалению объектов.

Источник

Оцените статью