Різниця між chmod і ACL


13

Я розумію , chmodі chownта як дозвіл біт роботи, але є й інша дозвільна система в Linux, ACLз setfaclі getfacl, таким чином , це змушує мене задатися питанням .

Яка різниця між цими двома системами дозволу контролю? Чи заважають вони один одному?

Відповіді:


7

Одне не краще, ніж інше, вони просто різні методи і спосіб мислення.

Ви можете без проблем використовувати обидва дозволи дозволу на одному шляху.

Вони заважають один одному під час зміни власника, групи володіння та інших дозволів: коли встановлювати поточне значення для них із setfacl, воно фактично встановлює дозвіл posix, а не ACL.

Dosix Posix дозволяє лише власникові, володіти дозволом групи та "всіх", тоді як ACL дозволяє декілька "володіти" користувачами та групами. ACL також дозволяє встановити дозволи за замовчуванням для нових файлів у папці.

Ви можете додати більше управління дозволами на додаток до додатків apparmor або selinux для більш жорсткого контролю.


1
Чи правильно я припускаю, що під час запуску ls -lя бачу лише дозволи на posix та ACL, які надалі обмежують файл, не відображатимуться? Або дозволи на позікс будуть дотримані незалежно?
mFeinstein

3
@mFeinstein Залежить. Під Linux ls -lставить а +в кінці символів дозволів, які вказують на наявність ACL. Якщо ACL присутній, то основні дозволи не розповідають про повну історію: ACL замінює дозволи POSIX.
Жиль "ТАК - перестань бути злим"

Чудово! Це +щонайменше заважає мені позбутися себе
mFeinstein

3

Класичні дозволи Unix, встановлені chmod (читання / запис / виконання, користувач / група / інші) існують набагато довше, ніж ACL. Якби ACL існував з самого початку, тоді не було б chmod, як ми це знаємо. Однак, оскільки chmod існує дуже давно, багато додатків називають його, багато форматів архівів підтримують класичні дозволи тощо. Ви можете виразити дозволи chmod за допомогою ACL; вони виступають своєрідною відправною точкою для ACL.

Докладніше про те, як працює контроль доступу в присутності ACL, див. Попередження власника користувача та групи у дозволах файлів та Пріоритетність ACLS, коли користувач належить до кількох груп .

chmodКоманда також контролює деякі прапори , які не є на самому ділі права, але часто називається дозволу , тим не менше: УИП, setgid і липкі трохи . Це насправді не є дозволами, оскільки вони не впливають на те, який доступ до файлу дозволено, але як певні операції над файлом працюють після їх авторизації. Нічого подібного немає з ACL.


Отже, щоб справді зрозуміти дозвіл файлу, я повинен перевірити і ACL, і ls -l?
mFeinstein

Чи є спосіб перевірити, чи є якісь дозволи ACL на файл / каталог?
mFeinstein

@mFeinstein Див якщо відображаються дозволу lsмають додатковий +в кінці, чи запустити getfaclкоманду , щоб відобразити всі дозволи , включаючи ACL.
Жил "ТАК - перестань бути злим"

1
Просто getfacl myFile?
mFeinstein

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