Як рекурсивно змінювати спільний доступ / дозвіл папки в Mac OS X


53

Чи є якісь інструменти чи сценарії Mac OS X, які дозволяють мені змінювати властивості спільного доступу / дозволу файлів і папок у папці рекурсивно? Наприклад, дозволити кожному або певному користувачеві вміти читати і писати, читати лише чи писати.

Відповіді:


73

Спробуйте команду chmod. Наприклад, якщо у вас є ім'я каталогу mydir, наступна команда дозволить читати / записувати для цього mydir рекурсивно.

$ chmod -R +rw mydir

Для отримання додаткової інформації:

$ man chmod

18
Гарна відповідь, поганий приклад. Додаючи доступ до читання та / або запису до папок, вам також потрібно додати виконати ("x", так само пошук), інакше r / w є нічим не марним. З іншого боку, ти, як правило, не хочеш додавати файли до файлів. Виконуючи рекурсивну зміну, ви працюєте над сумішшю файлів і папок. Відповідь полягає у використанні функції chmod "розумне виконання" (з великої літери X): chmod -R +rwX mydirдодаватиме виконання лише тоді, коли це має сенс.
Гордон Девіссон

Гордон: Чудове спостереження. Однак у каталозі зазвичай увімкнено x, якщо користувач не зробить щось фанкі, щоб його вимкнути.
Хай Ву

1
Залежить від початкових дозволів. Якщо ви подивитеся, наприклад, на домашню папку Mac, налаштовану за замовчуванням, ви побачите, що для більшості папок (Настільного ПК, Документів, Бібліотеки тощо) власник має повний (rwx) доступ до всього, окрім групи та інших не мають доступу (не читати, писати чи виконувати). Якщо ви додаєте для читання або запису для групи або інших людей до однієї з цих папок, вам також потрібно додати Execute.
Гордон Девіссон

1
Не працює для мене, застосовується лише до основної папки, а не до підпапок.
дельфірули

29

Виберіть кореневу папку, з якою ви хочете працювати та відкрийте інспектор (CMD-i або клацніть правою кнопкою миші та "Показати інформацію"). На нижній панелі можна керувати дозволами.

Додайте та видаліть дозволи до списку. Щоб застосувати однакові дозволи рекурсивно до кожної підпапки, натисніть на гвинтик та виберіть "Застосувати до вкладених елементів ..."

Примітка. Я помітив, що "Застосувати до вкладених елементів ..." затьмарюється, коли маленький значок блокування в нижній правій частині вікна заблокований. У такому випадку просто натисніть на замок, щоб розблокувати його, ввівши свої облікові дані, а потім повторіть спробу "Застосувати до вкладених елементів ..."


Хоча в цілому корисно, воно не виконає того, що просять. Він замінює дозволи в підкаталогах, замість того, наприклад, додаючи користувача до всіх них, незалежно від того, які дозволи були раніше.
Даніель Бек

@DanielBeck ви неправі, він застосовує всі елементи дозволів, chmod та chown. Це правильний спосіб "mac", щоб зробити це
Rob

Я просто спробував цю відповідь (у тестовій папці), і вона не спрацювала правильно: оскільки папка, як правило, "виконується", цей біт також був встановлений на всіх доданих файлах, що неправильно. Я просто хотів змінити користувача та групу.
течія

12

Ви хочете використовувати команди chmodі chown.

Якщо я пам'ятаю правильно, ви можете змінити такі дозволи:

chmod -R +a "joshhunt allow read" /some/file/or/folder/
chmod -R +a "Guest deny read" /some/other/folder/
chmod -R +a "Guest deny write" /some/other/folder/

Щоб отримати детальнішу інформацію про одну з цих команд, відвідайте їхні відповідні сторінки в Терміналі:

man chmod
man chown

1
Найкращий спосіб намагатися вказати дозволи для конкретного користувача
megalucio
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.