Staff в мак ос что это

Обновлено: 04.07.2024

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

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

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

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

groups

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

Она позволяет выполнить какое-либо действие от имени пользователя 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)

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

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

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

drwxrw-r-x

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

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

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

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

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

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

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

chmod

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

chmod 755 /System/Library/Extensions

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

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

chmod -R 755 /System/Library/Extensions

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

chgrp

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

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

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

chown

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

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

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

chown root:wheel /mach_kernel

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

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

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

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

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

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

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

Если Вы администратор на своем Mac, Вы можете просматривать, а также удалять или добавлять пользователей групп в разделе «Группы» в системных настройках «Пользователи и группы». Также можно изменить название группы. Узнайте, как настроить новую группу.

Чтобы изменить эти настройки, выберите пункт меню Apple



> «Системные настройки», нажмите «Пользователи и группы» , затем выберите группу в списке слева.


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

Измените имя группы.

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

Добавление и удаление

Вы можете добавлять и удалять группы.


Удаление группы. Выберите его в списке и нажмите кнопку «Удалить» . См. раздел Удаление пользователя или группы.

Вы можете управлять доступом группы к своим общим папкам, задав права доступа в разделе «Общий доступ к файлам» настроек общего доступа. См. раздел Настройка общего доступа к файлам.

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

Наличием нескольких учётных записей на одном компьютере опытных пользователей не удивить. Эта практика бывает полезна как на домашнем компьютере, так и в офисе, где за одной машиной работает несколько человек. Но, помимо возможности создавать множество учётных записей на одном компьютере, существует не менее полезная функция объединения пользователей в группы, что позволяет разграничить права доступа к определенным файлам и папкам и повысить уровень безопасности пользовательских данных. При корректной настройке. В противном же случае (если права доступа для групп пользователей распределены неверно или группы не созданы вообще), может, наоборот, возникнуть уязвимость, при которой тот или иной пользователь сможет получить доступ туда, куда ему попадать не следовало.

Поскольку группы в Mac OS X представлены в виде записей в системной директории, в которой хранятся данные об учётных записях пользователей и в целом с ними схожи, они также могут быть членами других групп. Другими словами, группы в OS X могут взаимодействовать по иерархической (древовидной) модели, что позволяет пользователям не только получать права доступа, настроенные для группы, в которой они находятся непосредственно, но и «наследовать» их от групп более старшего порядка. А ещё, один и тот же пользователь может быть членом нескольких групп одного порядка, что делает настройки прав доступа ещё более гибкими.

В системе по умолчанию создано несколько групп пользователей. Все пользователи без привилегий администратора по умолчанию являются членами группы staff. У них есть возможность вносить изменения в файлы только в своей домашней папке, что лишает их возможности производить установку новых программ и менять настройки системы. Если вы даёте пользователю привилегии администратора, то помимо staff, он также становится членом группы admin (хотя из staff пользователь на выходит), что расширяет его возможности. Например, ему доступна запись в папку «Applications», а следовательно и установка приложений, к тому же именно члены группы admin, могут изменять параметры системы. Однако, и их права доступа ограничены. Самым высоким уровнем доступа обладает учётная запись суперпользователя, также называемая «root», которая в системе по умолчанию скрыта. В современных системах для выполнения команд от имени суперпользователя используется команда «sudo», что позволяет оставлять эту учётную запись скрытой, а систему, соответственно, менее уязвимой. Но не все пользователи имеют право использовать эту команду. Чтобы пользователь имел право воспользоваться командой «sudo», он должен быть членом ещё одной группы, которая называется wheel и пришла из UNIX-систем, лежащих у истоков Mac OS X. И хотя все члены группы admin автоматически добавляются в состав wheel, забывать про неё не стоит, так как она играет важную роль в работе системы. Бывали случаи, когда пользователи, открыв свойства загрузочного диска и обнаружив в настройках прав доступа группу wheel, случайно или по незнанию, удаляли её или запрещали ей доступ к диску, что приводило к сбоям в работе системы, а иногда и вообще препятствовало её запуску. Конечно, это поправимо, но ведь лучше не доводить?

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

Если создание и настройка групп и прав доступа при помощи графического интерфейса реализованы довольно просто, то вот с обзором групп и их состава, дело обстоит несколько сложнее. Раньше, до выхода OS X 10.5, для просмотра групп, входящих в их состав пользователей и связанных с ними настроек можно было использовать утилиту под названием Netinfo Utility. Однако в последующих версиях OS X разработчики от неё отказались. Схожий инструмент остался только в Server Admin Tools для Mac OS X Server (а начиная с версии 10.7 и вообще осталась только отдельная утилита Workgroup Manager). Если вы пользуетесь OS X версии 10.9 и ниже, есть возможность воспользоваться Workgroup Manager и не приобретая расширения OS X Server.

  1. Загрузите утилиту с официального сайта Apple.
  2. Смонтируйте полученный образ двойным щелчком мыши и запустите установщик.
  3. Проведите установку Workgroup Manager, после чего запустите эту утилиту из папки «Программы».
  4. В открывшемся окне в графе «Address» введите «localhost», а также введите имя и пароль учётной записи пользователя с правами администратора в соответствующие поля.
  5. В открывшемся окне, выбрав пользователя из колонки слева во вкладке «Groups», вы можете посмотреть, в каких группах он состоит, а при нажатии на кнопку «Show Inherited Groups», отобразятся также и группы старшего порядка, к которым пользователь также имеет отношение (они будут выделены курсивом).
  6. Выбрав соседнюю вкладку над колонкой с пользователями, вы сможете посмотреть список созданных в системе групп. Список пользователей, входящий в их состав можно посмотреть выбрав вкладку «Members».

Если же вы пользуетесь более новой версией системы (10.10 или 10.11), данную утилиту, к сожалению, установить не удастся. В этом случае вы можете приобрести расширение Mac OS X Server (его цена составляет примерно 20$, что сравнительно недорого) и воспользоваться входящей в его состав службой Profile Manager.

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

Результат может несколько разочаровать, так как, хоть поиск и привязан к указанному вами имени пользователя, вывод команды включает в себя также все атрибуты тэга «GroupMembership», в число которых входит, например, полный список пользователей группы. Чтобы привести вывод команды к более удобному для восприятия виду можно её немного дополнить: dscl . search /Groups GroupMembership USERNAME | grep = | awk ''

При помощи символа вертикальной линии «|» мы отправляем полученные данные в фильтрующую утилиту «grep», чтобы оставить только строчки, которые содержат знак равенства «=», а чтобы также исключить из каждой оставшейся строки «GroupMembership = (» и оставить только название группы мы можем использовать ещё одну команду обработки данных «awk», чтобы отображать только первый элемент каждой строки. В результате вывод команды должен иметь следующий вид:

Напоминаем, что при работе в Терминале следует быть осторожным с командами, которые начинаются с sudo. Это команды системного уровня, которые при неправильном использовании могут вызвать серьезные проблемы в Mac OS X, вплоть до краха системы. Поэтому эти команды нужно вводить максимально аккауратно и именно так, как указано в инструкции. Как правило, при работе с такими командами требуется ввести пароль администратора, который вводится вслепую.

SPOTLIGHT

Нет нужды объяснять любому маководу, пусть даже начинающему, что такое Spotlight, так как большинство пользователей используют его для поиска документов, запуска приложений, математических вычислений и пр. Между тем, существует несколько команд Терминала, помогающих оптимизировать работу Spotlight или, например, скрыть иконку Spotlight в менюбаре.


Даже в такой достаточно отлаженной системе, как Mac OS X, может случиться так (хотя и достаточно редко), что начинают глючить те или иные приложения. Так, например, Spotlight может начинать выдавать неверные результаты поиска, а то и вовсе отказываться от поиска. Как правило, такие сбои получаются в результате того, что в базе программы появились ошибки. Чтобы ликвидировать эти ошибки нам будет необходимо удалить всю базу метаданных и провести повторную индексацию содержимого всех разделов/дисков. Для этого можно воспользоваться следующими командами Терминала (не забываем после каждой команды нажимать RETURN):

[php]sudo mdutil -E
sudo mdutil -i on[/php]

После выполнения этих команд Spotlight заново проиндексирует все данные на вашем диске/дисках и ошибок больше возникать не будет.

  • Убираем иконку Spotlight из менюбара

Наверняка найдется определенный ряд пользователей Mac OS X, например некоторые свичеры, недавно перешедшие с Windows на Mac OS X, в силу своих устоявшихся привычек совсем не использующие возможности Spotlight. Мы не будем сейчас говорить о том, хорошо или плохо ли не использовать Spotlight при повседневной работе в системе, а просто приведем команду Терминала, позволяющую убрать из менюбара иконку Spotlight, дабы освободить место для значка другого приложения.

[php]sudo chmod 0 /System/Library/CoreServices/Spotlight.app[/php]

Для того, чтобы вернуть иконку на место вводим другую команду:

[php]sudo chmod 755 /System/Library/CoreServices/Spotlight.app[/php]

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

ОБЛЕГЧАЕМ РАБОТУ СИСТЕМНОГО АДМИНИСТРАТОРА

Что самое трудное в работе системного администратора? Правильно, это работа с рядовыми пользователями сети и исправление последствий тех или иных действий, произведенных, например, какой-нибудь секретаршей. Неопытные пользователи, сами того не зная, могут зачастую натворить такого, чего не достичь даже при намеренном разрушении системы. Именно поэтому имеет смысл лишить пользователя возможности воздействовать на те или иные параметры системы, тем более, если этого не требуется при выполнении его обязанностей.

  • Блокировка Дока от изменения его содержимого

[php]defaults write com.apple.Dock contents-immutable -bool YES; killall Dock[/php]

  • Блокировка Дока от изменения его размеров

[php]defaults write com.apple.Dock size-immutable -bool YES; killall Dock[/php]

  • Блокировка Дока от смены его положения на экране

[php]defaults write com.apple.Dock position-immutable -bool yes; killall Dock[/php]

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

  • Блокировка доступа к меню Системных настроек


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

[php]sudo chmod /Applications/System\ Preferences.app 000[/php]

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

[php]sudo chmod /Applications/System\ Preferences.app 777[/php]

ОТКЛЮЧАЕМ СОЗДАНИЕ ФАЙЛОВ .DS_STORE НА СЕТЕВЫХ ДИСКАХ

[php]defaults write com.apple.desktopservices DSDontWriteNetworkStores TRUE[/php]

Для возврата к предыдущему значению следует повторно ввести данную команду, заменив TRUE на FALSE.

ЕСЛИ ЗАВИС МАК

У любой, даже самой совершенной системы случаются внештатные ситуации. Так и у Mac OS X иногда случается так, что зависает какое-то одно приложение или, что бывает гораздо реже, виснет вся система сразу. Особенно данная проблема касается пользователей Хакинтошей, так как в этом случае мы имеем дело не с оригинальной, а с модифицированной Mac OS X и ожидать такой же стабильности, как и у оригинальных Маков, здесь не приходится. Обращаем ваше внимание, что при принудительном завершении приложения, все данные, с которыми вы работали в зависшей программе, как правило, будут потеряны.

Если при зависании какого-либо приложения функция Принудительного завершения не работает, то проблемную программу можно завершить через Терминал. Для этого вам понадобиться узнать PID (идентификатор процесса) нужного приложения. Сделать это можно, как мнинмум, двумя способами.


[php]ps ux | fgrep -i FINDER.APP | fgrep -v fgrep[/php]

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

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

[php]kill -QUIT PID[/php]

[php]kill -TERM PID[/php]

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

[php]kill -KILL PID[/php]

Если у вас под рукой нет ни второго компьютера, ни какого-либо apple-устройства, то в этой ситуации вам поможет только принудительное выключение компьютера, с помощью нажатия и удерживания кнопки питания до тех пор, пока Мак не выключится. Если имеется устройство, с которого можно удаленно подключитья к зависшему Маку, то принудительного выключения машины можно будет избежать. Надо ли говорить о том, что для данного способа необходимо, чтобы у Мака было включено удаленное управление. Для этого необходимо в Системных настройках зайти в раздел Общий доступ и отметить соответствующий пункт.


Со второго компьютера (в нашем случае это второй Мак) открываем ва Терминале Shell -> Новое удаленное подключение -> Безопасный Shell (ssh) и выбираем компьютер, к которому хотим подключиться.


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

Для завершения сеанса работы на зависшем компьютере пишем в Терминале:

[php]sudo killall -HUP WindowServer[/php]

В случае того, если хотим перезагрузить зависший Мак, используем следующую команду:

[php]sudo shutdown -r now[/php]

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

Читайте также: