В попытках писать статьи на компьютерную тематику, создается nextontext.ru

Реклама на nextontext.ru

Из этой статьи вы узнаете:

Что такое umask в Mac OS X?

Какие функции выполняет umask в Mac OS X?

 

2013.12.17---default-permissions-in-OS-X--logo-1В тот момент, когда вы создаете файл или папку в OS X, система изначально не знает, какой уровень доступа предоставить новому объекту, и применяет полные права для каждого (или так называемый уровень 7). Именно в этот момент в системные процессы вступает umask, работая как фильтр, снижая ценность предоставленного доступа для всех участников системы. Как вы понимаете, делается это в целях безопасности.

 

Давайте посмотрим на работу umask в среде Mac OS X. Для этого нам потребуется открыть терминал (Программа терминал в OS X находится в папке "Утилиты", среди всех программ устанавливаемых на вашей системе). Итак, в открытом терминале набираем команду umask и в ответ, скорее всего получаете значение похожее на "0022".

2013.12.17---default-permissions-in-OS-X---3

Первые ноль в этом списке нам не интересен (он отвечает за SetUID, SetGID - это инструмент определяющие ID пользователя, и ID группы во время выполнения каких-либо задач). Инструмент не так важен для повседневных задач и поэтому мы его пропустим. Нас больше интересует следующие три значения 022, которые являются маской разрешений для пользователя, группы и всех остальных, соответственно.

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

2013.12.17---default-permissions-in-OS-X---4

Получается, что umask системы равный 022 будет распределять права на доступ к  новым файлам следующим образом. Создается новый файл, с правами доступа равными 777 (где любые действия с системой могут выполнять любые пользователи), затем применяется umask, и права получают следующий 755 (где пользователь не теряет в доступе так как на него поставлен "0", а все остальные получают возможность производить чтение и выполнение созданных объектов). Соответственно если бы umask вместо 022 был равен 000, в системе творились невероятные "чудеса" так как права администратора имел любой проходящий мимо. Такая ситуация абсурдна и в повседневной "реальности" не случается. Впрочем, как и umask равный 777, никто кроме самой системы не имеет доступа к ней (компьютерный вакуум).

Таким образом umask делится доступом и назначает приоритеты по умолчанию. umask применим ко всем файлам и папкам, созданным в системе, и не важно где эти объекты созданы, в общей папке или в частной. Единственными папками под вашей учетной записью, у которых есть действительно частные установки доступа по умолчанию, являются Документы, Рабочий стол, Музыка, Фильмы и другие встроенные директории. Если вы создадите новую папку рядом с ними, umask сделает его как минимум удобным для чтения всем. Фактически, у файлов и папок, которые создаются в пределах папок Документы и Музыка (а также другие директории по умолчанию) есть разрешения, открывающие доступ другим пользователям, при этом ограниченность разрешений самих каталогов Документы и Музыка служат преградой, закрывающей доступ.

Вы спросите как поменять umask?

Как вы наверное понимаете изменение параметров umask процесс ювелирный. Вы должны четко осознавать к каким это может привести последствиям. Из коробки менять систему выглядит как минимум не логично, тем более что  есть некоторые программы и службы, которые после изменения umask могут пожаловаться на нарушение их рабочих процессов. Это происходит потому, что фоновые службы основываются на umask для того чтобы не напутать с доступом.

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

Самое удивительное состоит в том, что назначение прав на уровне системы, изменение umask, осуществляется довольно просто. Достаточно в терминале набрать команду umask 011, и маска изменится из стандартной 022 на 011.

Если вы наберете umask со значением нужным именно вам из терминала это безусловно повлияет на создание новых файлов и папок в текущей сессии. Что это значит? Это значит, что после завершение и последующего входа в терминал, значение приобретет первоначальный вид. Соответственно Finder и другие программы системы не будут затронуты. Изменение umask на уровне системы процесс более сложный, и требует вмешательства в конфиги системы, которые начинают работать после полной перезагрузки. Изменения происходят на уровне (launchd).

Launchd - это процесс запуска/перезапуска процессов используемый в Mac OS X. Имеет ID равный 1, является аналогом init в Linux. Скрываясь от глаз пользователя Launchd и выполняя незаметные действия, именно он общается с umask, а значит любые установки по глобальному изменению прав для umask настраиваются через него.

Изменения umask на уровне launchd, приведет к изменениям в работе Finder и других приложений, которые Вы запускаете из под своей учетной записи.

Вот собственно и все о чем хотелось рассказать дорогие друзья. Статья получилась не столько большой, сколько разносторонней, и поэтому мы разбили ее на две части. Сегодня вы узнали как Mac OS X присваивает доступ к созданным файлам и папкам, поговорили о том, как изменять атрибуты углубились в дебри системных процессов. Надеюсь, что статья вам понравилась и мы получим свой "Like" для страницы на Facebook. Хочется отметить, что мы намеренно не рассказали вам о том, как применить глобальные правила для umask в системе Mac OS X. Так как считаем, что это необходимо делать, только если Вы действительно уверены в своих знаниях, и готовы рушить правила на уровне системе. В остальном, можно просто обойтись запретом на чтение некоторых ваших папок, которые вылезают на других учетных записях, или просто не записывать туда ничего, пусть она останется пустой. Удачи и до новых встреч!

 

В центре внимания читателей:

Рассказываем о iOS 7 или что такое синяя точка? Как удалить почту на iOS 7, и почему мое устройство быстро садится?

Как пользоваться iBooks в OS X Mavericks. Дадим несколько советов

Разбираемся с поиском в Spotlight на Mac OS X

Почему Windows?



Друзья! Понравилась статья? Мне нужна ваша поддержка в Яндекс Дзен

Подпишитесь, поставьте Лайки!

СПАСИБО!!!



Реклама на nextontext.ru

Реклама на nextontext.ru

В том случае, если вы пропустили

Как сделать ссылку в word

Вот как бывает дорогие друзья. Я хотел написать статью о том, как переходить по ссылкам в Word не используя клавишу Ctrl. Но, оказалось, что люди не ищут этого в интернете. Точнее это волнует незначительное количество пользователей Microsoft Word. Намного больше людей озадачены тем, как создать ссылку в Word? Об этом сегодня и поговорим, как создать ссылку в Word на заголовок, другой документ или статью в интернете.

Находим соответствия. ПОИСКПОЗ в excel с примерами

Довольно часто в Excel требуется найти элемент в диапазоне ячеек. И вернуть позицию этого элемента в диапазоне. Например, у нас есть диапазон A1:A3 со значениями 2, 10 и 15. Набираем формулу “=ПОИСКПОЗ(10;A1:A3;0)” и получаем значение 2, так как 10 стоит вторым в диапазоне. Тут все просто, но, в заголовке этой статьи, стоит слово с примерами, значит нужно более детальное объяснение с примерами!

Формула последний день месяца в excel

Случается так, что в отчетах Excel Вам необходимо “подбирать” последний день месяца. Однако, не всегда очевидно, как научить excel вставлять последний день месяца в таблицу, нужна формула. Вот этой формуле я Вас и научу!

Всегда запускать программу от имени администратора

Довольно часто в системе Windows 10 , требуется запускать приложения с правами администратора, иначе большинство функций этих приложений, начинают работать некорректно. Это особенно актуально для командной строки и PowerShell , где большинство операций недоступны под обычным пользователем, и выход из ситуации, постоянно запускать приложение из контекстного меню, с правами администратора. Естественно, это неудобно, но, решение есть. Как всегда запускать программу от имени администратора, рассказываю в этой статье.