Як отримати дозволи на вісімкові файли з командного рядка в Mac OS
Зміст:
Користувачі командного рядка, ймовірно, знайомі з використанням chmod для встановлення прав доступу до файлів у числовому чи вісімковому форматі, наприклад, виконання команди на зразок «chmod 755 ім’я файлу», але чи замислювалися ви коли-небудь про те, як отримати дозволи на файл у вісімковому форматі?
Якщо ви хочете побачити або переглянути вісімкове числове значення дозволів будь-якого файлу чи папки за допомогою командного рядка, ви можете звернутися до команди stat у Mac OS, щоб зробити це.
Ми припускаємо, що ви маєте достатній рівень досвіду та зручності роботи з командним рядком, якщо ні, то ця стаття, швидше за все, не стосується вас. Більшість користувачів Mac будуть переглядати або змінювати дозволи на файли лише через Mac Finder, як описано в іншому місці (якщо навіть це), тоді як ця конкретна стаття призначена для більш досвідчених користувачів.
Як отримати числові значення дозволів chmod на Mac
Щоб розпочати, запустіть програму Terminal з /Applications/ на Mac і скористайтеся такими командами:
stat -f %A file.txt
Наприклад, ця команда може вивести щось на зразок наступного:
$ stat -f %A wget-1.18.tar.gz 644
Де в цьому прикладі «644» є вісімковим значенням дозволів для файлів.
Альтернативно, ви можете використовувати -f і %OLp (так, це «o» у верхньому регістрі, а не нуль), результат буде таким самим, якщо припустити, що файл також:
stat -f %OLp /Applications/System\ Preferences.app
Приклад результату для цієї команди може виглядати так, показуючи дозволи на числові вісімкові значення для цільового елемента:
"$ stat -f %OLp>"
У цьому прикладі програма «Системні налаштування» має вісімкове значення дозволів 775.
Вам не потрібно використовувати лапки, хоча, якщо вам з якоїсь причини потрібно уникнути назви файлу чи шляху, або для цілей сценарію, їх легко розмістити так:
"stat -f %OLp>"
Прапорець -f призначений для форматування, ви можете про конкретні параметри форматування для виводу статистики зі сторінки довідки на stat із «man stat».
В останньому випадку команди «O» (великий регістр o) призначений спеціально для досягнення вісімкового виведення.
Знання точних числових дозволів для файлу чи папки дуже корисно з багатьох причин, і це може бути корисно, якщо ви налаштовуєте дозволи для різних елементів або навіть якщо переміщувати файли на Mac і бажаєте зберегти точні дозволи та перевірити це після факту. Є також незліченна кількість інших застосувань, особливо якщо ви використовуєте сервер будь-якого типу з Mac.
Ці команди мають працювати однаково для отримання вісімкових дозволів практично в будь-якій версії macOS, MacOS або Mac OS X, незалежно від того, як правило іменування пишеться з великої літери. Примітно, однак, що підхід до отримання вісімкових дозволів на Mac відрізняється від решти світу Linux, тому, якщо ви переходите на Mac зі світу Linux, вам потрібно буде налаштувати прапорці команди stat, щоб точно отримати дозволи у вісімковому форматі, ми коротко розглянемо це далі.
Отримання дозволів на вісімкові файли з командного рядка в Linux
Для повноти ми також коротко обговоримо отримання значень вісімкових дозволів у світі Linux, де ви можете використовувати наступне, щоб отримати вісімкові дозволи на файли:
"stat -c %a %n /Шлях/до/файлу"
Ви також можете простіше використати команду stat -c:
stat -c %a /Path/To/File.txt
Виведене числове значення буде однаковим незалежно від того, якщо введений цільовий файл буде однаковим.
Знову ж таки, ці два останні підходи є специфічними для Linux, і вам потрібно буде використовувати методи, описані далі, щоб отримати вісімкові значення дозволів для файлу в Mac OS.
Чи знаєте ви якісь інші методи чи підходи до отримання числового значення прав доступу до файлів на Mac? Поділіться ними в коментарях нижче!