- Как использовать chmod на Mac, чтобы новые файлы наследовали разрешения родительского каталога?
- How to Set File Permissions on a Mac
- File Permissions Crash Course
- How to Modify Permissions with the Info Window
- How to Modify Permissions with chmod
- Final Thoughts
- Related Articles
- Subscribe to our email newsletter
- Как установить права доступа к файлам на Mac
- Настройка разрешений для файлов Mac с помощью Finder
- Настройка прав доступа к файлам Mac с помощью терминала
- Просмотр текущих прав доступа к файлам
- Настройка прав доступа к файлам
Как использовать chmod на Mac, чтобы новые файлы наследовали разрешения родительского каталога?
Я на Mac. Я хочу сделать так, чтобы любые новые файлы / папки, создаваемые в определенной папке, имели те же разрешения (а не группы, о которых уже позаботились), как и у родительского каталога. В Linux я обычно использовал бы setfacl, но похоже, что chmod на Mac может сделать то, что я ищу. Я прочитал справочную страницу для chmod, но все еще не могу понять, как правильно отформатировать команду, чтобы получить то, что я хочу.
Во-первых, немного предыстории, чтобы объяснить, что происходит: к файлам в OS X могут применяться два совершенно разных типа настроек разрешений: POSIX и ACL.
К файлам всегда (ну, почти всегда) применяются разрешения POSIX, состоящие из владельца, группы и других (с некоторыми комбинациями чтения, записи и выполнения для каждого из них). Невозможно управлять наследованием разрешений POSIX: новые элементы всегда принадлежат тому, кто их создал, назначение группы наследуется из папки, в которой они находятся, и доступ определяется с помощью umask (что почти всегда так: владелец получает полный доступ, группы и другие только для чтения + выполнить для папок). Таким образом, разрешения POSIX не сработают для того, что вы пытаетесь сделать.
К файлам также может быть применен список контроля доступа (ACL). Это список записей управления доступом (ACE), каждая из которых относится к пользователю или группе, определяет типы доступа (очень подробно), разрешены ли они или запрещены, а также следует ли копировать ACE в элементы, созданные внутри папки. Этот последний бит — часть, которая делает это полезным для вас; вам нужно создать ACE в папке, в которой указана нужная вам группа, типы доступа и полное наследование.
chmod на OS X может манипулировать ACE с помощью опций разрешений + a, -a и т. д. Если я понимаю, что вы хотите, вы бы использовали это (с заменой имени вашей группы и пути к папке), чтобы создать ACE:
Обратите внимание, что наследование не является «живым», то есть оно не применяется к элементам, созданным до того, как вы назначили ACE, и оно не применяется к элементам, созданным где-то еще, а затем перемещенным в папку. Вы можете применить его к существующему содержимому с помощью -R ( chmod -R +a . ). Я не знаю способа (кроме инструментов администратора сервера Apple) принудительно наследовать элементы, перемещенные в папку.
Попробуйте добавить -R в команду @ gordon, вот так:
-R Вариант будет (как отмечено здесь ):
Recurse: измените режим файловых иерархий, коренящихся в файлах, а не только сами файлы.
Кажется, вам нужно изменить файловые иерархии (для новых файлов, каталогов и т. Д.).
Вы также можете ознакомиться с этим постом Apple.SE , в котором описывается ситуация, в некоторой степени похожая на вашу (за исключением относящейся к общему каталогу), которая требует sudo прикрепления к передней части.
Это (-R) не то, что большинство людей стремятся сделать; Большую часть времени они предпочитают изменить ACL на верхнем каталоге и сделать что-то волшебное, чтобы заставить все содержащиеся объекты наследовать флаги в соответствии с ACL, который они указали в корне этого поддерева. Это гораздо более элегантно, так как ACL на объектах будут сортировать эти унаследованные ACE в соответствии с политикой.
И да, для этого мне пришлось написать скрипт на python, но я не нашел ничего подходящего.
Источник
How to Set File Permissions on a Mac
Your Mac uses permissions to restrict access to applications, files, and folders. Utilizing this security control can help protect your data from unauthorized access. Whether you use your Mac in public places or share it with other users, you may want to change the permissions on your documents to ensure the confidentiality and integrity of your data.
Of course, it can be difficult to strike a balance between convenience and security when using permissions. Users who are too restricted won’t be able to perform basic tasks. And if you give users too much power, you risk privilege escalation or worse. Use trial and error to find an adequate level of security that everyone can live with.
File Permissions Crash Course
Every file and folder on your Mac has a configurable set of permissions. Permissions control three types of access: reading, writing, and executing. You can mix and match any of the types to grant seven levels of access, as illustrated below. Read, write, and execute permissions overlap to create seven octal permission notations.
You’ll learn how to modify permissions using the Info window in the next section. But to really leverage permissions, you need to learn the Unix-based symbolic and octal permission notations, which are hidden beneath the macOS graphical user interface. All of the available permissions are shown in the table below.
Permissions | No permission | Execute | Write | Write and execute | Read | Read and execute | Read and write | Read, write and execute |
Octal Notation | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Symbolic notation | — | —x | -w- | -wx | r— | r-x | rw- | rwx |
The Terminal application allows you to use octal notation to set permissions for the owner, a group, and everyone else. For example, to create a “write only” drop box folder, you could set directory permissions to 622 to give the owner read and write permissions, and the group and everyone else write only permissions. The three groups of notations are shown below.
Your Mac automatically sets permissions to limit a user’s access to system files and other user directories. If that protection isn’t good enough, you can change permissions to prevent other users from doing stuff like editing your “Great American Novel,” reading private financial documents, or opening a specific application.
How to Modify Permissions with the Info Window
The Info window allows you to modify permissions for users, groups, and everyone else. It doesn’t provide the same level of granular control as the chmod command, which you’ll learn about in the next section, but it’s a good way to quickly limit access to a file or folder.
Here’s how to modify permissions with the Info window:
Click a file or folder to select it.
From the File menu, select Get Info. The window shown below appears.
Click the disclosure triangle next to Sharing & Permissions to display permissions for the selected file or folder.
Click the lock and authenticate with an administrator account.
Use the menus next to users and groups to change the permissions.
When you’re finished, close the Info window.
Changes are effective immediately.
How to Modify Permissions with chmod
For total control over permissions, you can use two Unix commands — ls and chmod — to display permissions and modify them. Assume you want to find a folder’s current permissions and then change them to 755. This would give you as the owner read, write and execute permissions, and everyone else read and execute permissions.
Here’s how to find a folder’s current permissions and change them:
Open the Terminal application.
Type ls –l , and then press Return. The symbolic permissions of the files and folders in your home directory are displayed, as shown below.
Type chmod 755 foldername , and then press Return. This changes the permissions of the folder to rwxr-xr-x.
When it comes to using the ls and chmod commands, practice makes perfect. Try modifying the permissions on a couple of sample files. If you need more help, use the man command to display the manual pages for these commands (e.g., man ls ).
Final Thoughts
Permissions as a security control are more effective in some environments than others. Schools and offices have a real need for permissions — there are lots of users, and the information stored on the computers can be valuable. In single-user households, where only one person uses a Mac, convenience might outweigh any perceived security threats. It’s all about finding the right balance for your environment.
Related Articles
Subscribe to our email newsletter
Sign up and get Macinstruct’s tutorials delivered to your inbox. No spam, promise!
Источник
Как установить права доступа к файлам на Mac
Как и все основные операционные системы, macOS позволяет ограничивать доступ к файлам, используя сложный набор прав доступа к ним. Вы можете установить их самостоятельно с помощью приложения Finder или с помощью команды chmod в терминале вашего Mac. Вот как.
Настройка разрешений для файлов Mac с помощью Finder
Если вы хотите установить разрешения для файла на вашем Mac без использования терминала, вам нужно будет использовать приложение Finder.
Вы можете запустить Finder из Dock внизу экрана. Приложение представлено улыбающимся значком с логотипом Happy Mac.
В окне Finder вы можете просматривать и устанавливать разрешения, щелкнув правой кнопкой мыши файл или папку и выбрав «Свойства».
Обширная информация о вашем файле или папке может быть найдена в открывшемся окне «Свойства». Однако, чтобы установить права доступа к файлам, вам нужно нажать на стрелку рядом с опцией «Общий доступ и права доступа».
Будет отображен список учетных записей или групп пользователей на вашем Mac с уровнями доступа, показанными в категории «Общий доступ и права доступа».
Если учетной записи или группы пользователей, для которых вы хотите установить разрешения, нет в списке, выберите значок «Плюс» (+) в нижней части окна.
Выберите пользователя или группу в окне выбора, а затем нажмите кнопку «Выбрать». Это добавит его в список.
Уровни доступа говорят сами за себя – пользователи с уровнем доступа «Только чтение» не могут редактировать файлы, но они могут получить к ним доступ. Если для учетной записи установлен уровень «Чтение и запись», они могут выполнять обе функции.
Чтобы изменить это для пользователя или группы в списке, нажмите стрелку рядом с существующим уровнем для этой учетной записи или группы, а затем выберите «Только для чтения» или «Чтение и запись» из списка.
Разрешения сразу устанавливаются. Закройте окно, как только вы закончите.
Настройка прав доступа к файлам Mac с помощью терминала
Если вы когда-либо использовали команду chmod в Linux, то вы будете знать о ее силе. С помощью одной команды терминала вы можете установить права на чтение, запись и выполнение для файлов и каталогов.
Однако команда chmod не является командой только для Linux. Как и многие другие терминальные команды Linux, chmod восходит к Unix с 1970-х годов – и Linux, и macOS разделяют это наследие, поэтому команда chmod доступна и в macOS.
Чтобы использовать chmod, откройте окно терминала. Вы можете сделать это, нажав значок Launchpad на панели Dock и выбрав опцию «Терминал» в папке «Другое».
Кроме того, вы можете использовать встроенную функцию поиска Spotlight от Apple, чтобы открыть терминал.
Просмотр текущих прав доступа к файлам
Чтобы просмотреть текущие разрешения для файла, введите:
Замените «file.txt» своим именем файла. Это покажет все уровни доступа пользователя, а также любые расширенные атрибуты, относящиеся к macOS.
Права доступа к файлу отображаются в первых 11 символах, выводимых командой ls. Первый символ, тире (-), показывает, что это файл. Для папок это заменяется буквой (d).
Следующие девять символов разбиты на группы по три человека.
Первая группа показывает уровни доступа для владельца файла / папки (1), средняя группа показывает разрешения группы (2), а последние три – разрешения для любых других пользователей (3).
Здесь вы также увидите буквы, такие как r (чтение), w (запись) и x (выполнение). Эти уровни всегда отображаются в таком порядке, например:
- — означает отсутствие доступа для чтения или записи, и файл не является исполняемым.
- r— означает, что файл может быть прочитан, но не записан, и файл не может быть выполнен.
- rw- означает, что файл может быть прочитан и записан, но файл не является исполняемым.
- r-x означает, что файл может быть прочитан и выполнен, но не записан.
- rwx означает, что файл может быть прочитан, записан и выполнен.
Если последним символом является знак (@), то это означает, что файл или папка имеют расширенные атрибуты файла, относящиеся к безопасности, предоставляя определенным приложениям (например, Finder) постоянный доступ к файлу.
Отчасти это связано с новыми функциями безопасности, представленными в macOS Catalina, хотя списки контроля доступа к файлам (ACL) были функцией Mac начиная с macOS X 10.4 Tiger еще в 2005 году.
Настройка прав доступа к файлам
Чтобы установить права доступа к файлам, мы будем использовать команду chmod в терминале. Чтобы удалить все существующие разрешения, установите для пользователя права на чтение и запись, а другим пользователям – на чтение, введите:
Флаг u устанавливает права доступа для владельца файла, g относится к группе пользователей, а o относится ко всем другим пользователям. Использование знака равенства (=) стирает все предыдущие разрешения для этой категории.
В этом случае владелец файла получает доступ на чтение и запись, а группа пользователей и другие пользователи получают доступ на чтение.
Вы можете использовать знак плюс (+), чтобы добавить доступ к уровню пользователя. Например:
Это исключит доступ для чтения и записи для всех других пользователей из файла.
Чтобы стереть, добавить или удалить разрешения для всех пользователей, используйте вместо этого флаг. Например:
Это предоставит всем пользователям и группам пользователей доступ для чтения и записи к вашему файлу, а также позволит всем пользователям выполнять файл.
С большой силой приходит большая ответственность, и нельзя отрицать, что команда chmod является обширным и мощным инструментом для изменения прав доступа к файлам на Mac. Например, вы можете заменить буквы (rwx) комбинацией из трех (или четырех) восьмеричных цифр до 777 (для чтения, записи и выполнения).
Если вы хотите узнать больше об этом, введите man chmod в терминале, чтобы прочитать полный список доступных флагов и настроек.
Источник