Задаване на персонализиран umask в macOS

Всеки файл и папка на вашия Mac има набор от разрешения. Когато създавате нов файл или папка, umask определя тези разрешения.

Тези разширени стъпки са предимно за системните администратори и други, които са запознати с командния ред. Бъдете внимателни, когато променяте разрешения за файлове и umask команди. Ако направите грешка, можете да намалите сигурността на файлове, папки или приложения на вашия Mac или да попречите на приложенията да работят.

За разрешенията и umask командите

Разрешения. Всеки файл, папка и приложение, съхранявани на вашия Mac, има настройки за разрешения, които определят кои потребителски акаунти могат да четат, записват или стартират файла, папката или приложението. Тези разрешения включват POSIX разрешения и списъци за контрол на достъпа (ACL). За да направите POSIX разрешенията на потребителя по-ограничителни или по-малко ограничителни, можете да коригирате стойността на umask.

Umask команди. Трицифрен номер може да представлява разрешения за POSIX за файл. Може да видите разрешенията, представени по този начин, когато ги преглеждате от терминала. Всяка цифра е между 0 и 7. Когато създавате файл, umask стойността се изважда от стойността по подразбиране (обикновено 666 за файлове и 777 за папки), за да се определят разрешенията за новия файл или папка. Например umask по подразбиране от 022 задава разрешения от 644 за нови файлове и 755 за нови папки. 

Можете да зададете umask на няколко местоположения и всяко местоположение влияе на различни приложения. Ако зададете umask неправилно, може да загубите достъп до файлове или да предоставите достъп на други потребители. Вижте раздел MODES (РЕЖИМИ) на страница chmod(1) от ръководството за повече информация.

Umask за потребителски приложения

Влезте като администратор и въведете следната команда в терминала, замествайки nnn със стойността на umask, като 027 или 002. Тази команда задава umask на потребителя за всяко приложение, което той отваря, включително приложенията, до които има достъп от командния ред, и новите файлове, които тези приложения създават. След като въведете тази команда, може да се наложи да рестартирате вашия Mac. 

sudo launchctl config user umask nnn

Ако терминалът отговори „Конфигурацията не може да бъде изписана: няма такъв файл или директория“, уверете се, че зареждащият диск има папка на адрес /private/var/db/com.apple.xpc.launchd/config. Ако папката config липсва, опитайте да я създадете отново, след като въведете следната команда:

sudo mkdir -m 755 /private/var/db/com.apple.xpc.launchd/config

Umask за системни процеси

Влезте като администратор и въведете следната команда в терминала, замествайки nnn със стойността на umask, като 027 или 002. Тази команда задава umask на потребителя за всеки демон, изпълняван в системния контекст. По възможност това трябва да се избягва, защото може да промени разрешенията за файлове, които системата използва. Разрешенията, които са твърде ограничителни, могат да попречат на софтуера да работи, а разрешенията, които са твърде отворени, могат да създадат проблеми със сигурността. След като въведете тази команда, може да се наложи да рестартирате вашия Mac. 

sudo launchctl config system umask nnn

Ако терминалът отговори „Конфигурацията не може да бъде изписана: няма такъв файл или директория“, уверете се, че зареждащият диск има папка на адрес /private/var/db/com.apple.xpc.launchd/config. Ако папката config липсва, опитайте да я създадете отново, след като въведете следната команда:

sudo mkdir -m 755 /private/var/db/com.apple.xpc.launchd/config

Научете повече

За повече информация как да зададете umask, въведете man launchctl в терминала.

Дата на публикуване: