Відповіді:
Атрибути, якими обробляється lsattr/ chattrв Linux, а деякі з них можуть зберігатися у небагатьох файлових системах (ext2 / 3/4, reiserfs, JFS, OCFS2, btrfs, XFS, nilfs2, hfsplus ...) і навіть запитуватися через CIFS / SMB (коли з розширеннями POSIX) - це прапори. Тільки біти, ніж можна включити або вимкнути, щоб відключити або включити атрибут (наприклад, незмінний або архівний ...). Як вони зберігаються, залежить від файлової системи, але, як правило, 16/32/64 бітовий запис у inode.
Повний список прапорів знаходиться в нативних файлових системах Linux (ext2 / 3/4, btrfs ...), хоча не всі прапори застосовуються до всіх FS, а для інших, що не належать до FS, Linux намагається відзначити їх еквівалентом функції у відповідній файловій системі. Наприклад, імітаційний прапор, який зберігається OSX у файлових системах HFS +, відображається у відповідному незмінному прапорі в Linux chattr. Який прапор підтримується якою файловою системою, майже не підтверджено. Часто читання вихідного коду ядра є єдиним варіантом.
З іншого боку, розширені атрибути, встановлені з Linux setfattrабо attrзберігають більше, ніж прапорів. Вони також додаються до файлу і являють собою пари ключів / значень, які можуть бути (як ключовими, так і значеннями) довільними масивами байтів (хоча з обмеженням розміру в деяких файлових системах).
Ключ може бути, наприклад: system.posix_acl_accessабо user.rsync.%stat. systemПлоща зарезервована для системи (не змінить POSIX ACL , з setfattr, але більше з setfacl, POSIX ACL - списки просто трапляється бути збережені як розширені атрибути , по крайней мере на деяких файлових системах), в той час як userпростір імен може використовуватися додатками (тут rsyncвикористовує його для своєї --fake-superопції, щоб зберігати інформацію про право власності чи дозволи, коли ви не є суперпользователем).
Знову ж таки, те, як вони зберігаються, залежить від файлової системи. Для отримання додаткової інформації див. WikiPedia .
lsattr/ chattrпрацювати для нефайлових extсистем? Якщо ні, як би ви змінили прапори на несистемних extсистемах в Linux? Також на attrсторінці man пише, що вона написана для XFS (навіть якщо вона працює для мене ext4). Я фактично провів довгий час, розглядаючи це вчора, хорошої інформації важко прийти. Будь ласка, дивіться - unix.stackexchange.com/questions/118840/…
lsattr/chattrпризначені для прапорів файлів. Не всі прапори підтримуються всіма файловими системами, наприклад, деякі з них, як стиснення, не працюватимуть на ext4, але працюватимуть на btrfs.
reiserfs.
Все було порушено. inodeКоли ви змінюєте файл, ви дійсно змінюєте його. Для створення inodeсценаріїв ви добре володієте командою:
stat --format=%a yourfile
Ви можете використовувати %variableта повертати корисне зinode
Але ваша відповідь:
xattrє на MacOS та chattrна linux box.
attrкоманда призначена для файлових систем XFS, еквівалентною командною файловою системою є незалежна командаsetfattr